Implementing DSLs in practice
We discuss in this part:
– what is needed to implement a DSL
– approaches to code generation
– IDE integration
– syntax highlighting
– background validation
– content assist
– hyperlinking and hovering
– quickfixes
List of sources for images on slides
– https://i.stack.imgur.com/WlvXp.png
– http://www.eclipse.org/pdt/help/html/javascript_class.png
– https://i.stack.imgur.com/td6IN.png
– https://www.eclipse.org/webtools/releases/3.5.0/NewAndNoteworthy/jpt/XmlClassContentAssist.png
– http://archive.eclipse.org/eclipse/downloads/drops/R-3.3-200706251500/whatsnew/images/code-assist.png
– https://www.zkoss.org/_w/images/6/66/ZscriptHyperlink.png
– http://sculptorgenerator.org/images/documentation/eclipse-plugin/hyperlink.png
– https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.user/reference/images/quickfix-hover.png
– https://blogs.sap.com/2013/04/05/eclipse-vs-se80-comparison-why-eclipse-wins/
– https://eclipse.org/webtools/community/tutorials/ReintroducingSSE/images/quickfix.jpg
– http://www.eclipse.org/pdt/help/html/javascript_class.png
– https://i.stack.imgur.com/td6IN.png
– https://www.eclipse.org/webtools/releases/3.5.0/NewAndNoteworthy/jpt/XmlClassContentAssist.png
– http://archive.eclipse.org/eclipse/downloads/drops/R-3.3-200706251500/whatsnew/images/code-assist.png
– https://www.zkoss.org/_w/images/6/66/ZscriptHyperlink.png
– http://sculptorgenerator.org/images/documentation/eclipse-plugin/hyperlink.png
– https://help.eclipse.org/neon/topic/org.eclipse.jdt.doc.user/reference/images/quickfix-hover.png
– https://blogs.sap.com/2013/04/05/eclipse-vs-se80-comparison-why-eclipse-wins/
– https://eclipse.org/webtools/community/tutorials/ReintroducingSSE/images/quickfix.jpg
Remarks
This part is based on:
- L. Bettini’s book Implementing Domain-Specific Languages with Xtext and Xtend
- Section A pragmatic do-it-yourself approach of F. Tomassetti’s blog entry on domain-specific languages