Pexels Photo 96381

Scala Parser Combinators: The Easier Way to Create an External DSL by Lior Schejter

Pexels Photo 96381

Examine the implementation of Scala parser-combinators. How can it be integrated with a complete application?

Chief Architect, Lior Schejter gave us all the information at Scalapeño 2018. Check it out and be a Parser professional!



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


This talk was given by Lior Schejter at Scalapeño 2018.