Examine the implementation of Scala parser-combinators. How can it be integrated with a complete application?
Scala Parser Combinators: The Easier Way to Create an External DSL
In certain domains, offering domain specific languages (DSLs) to our users can prove to be very useful and offer productivity gains, while at the same time allowing the application to evolve robustly.
This can range from configurations of our application, to offering more complicated customization, depending on the domain.
Scala (a Scalable language) is famous for being friendly to creating internal DSLs with its extensive syntactical abilities.
This approach is, however, limited in the syntax it can offer to users.
It is also usually geared towards cases where the DSL needs to gel with Scala itself and therefore more developer-oriented.
Developing an external DSL - one that requires parsing of the text - is usually more cumbersome to write, even with existing popular tools.
In this talk, we'll examine a concrete use case for such a DSL that was used to greatly simplify an existing complicated XML-based customization into a simple DSL.
We'll examine one possible implementation of it using Scala parser-combinators, and how it can integrated with a complete application.
Check out the slides below