The Eclipse Xtext framework offers a suitable architectural blueprint to quickly develop small and medium sized domain specific languages including decent editing support. However, as soon as a language grows - in terms of syntactic complexity, number of users, average file sizes, or by other metrics - heavy customizing is often necessary to achieve a decent user experience. Join us on a journey about the learnings of the past 10 years of building commercial IDEs with Xtext.
At Sigasi we are building a family of IDEs for hardware design languages. Working towards our product vision, we found that we had to leave the suggested Xtext path regularly to achieve feature parity for our IDEs, snappy behavior and scalability even for the biggest hardware designs. In this presentation, we want to discuss the approach that we have taken to scale-up Xtext to our needs. Amongst other things, you will learn how we enable parallel processing to use multi-core CPUs for maximum performance, why we reworked the editor framework and how we guaranteed consistent behavior for the entire product family