Brain Upgrade: Creating your own search DSL with ANTLR


When implementing a search solution, users often want more expressiveness than simple keyword searches. Domain specific languages (DSL) are a good fit for this purpose. They allow you to define your own language that is specific to the client’s needs.

ANTLR is a parser generator that facilitates creation of such DSL’s and allows you to fully customize how you handle the input. It is used for both the most simple of DSL’s and more complex languages such Hibernate HQL or even C++.

During this meetup, we will provide a short introduction to important ANTLR concepts such as grammars, lexers and parse trees. After that, a set of assignments is shared for the hands-on portion of the meetup. In these assignments you will create three DSL’s of increasing complexity. At the end of the third grammar you will be able to parse a key-value pair DSL and translate this into valid Elasticsearch queries.

18.00 Doors open
18.30 Food
19.00 Presentation
19.30 Hands-on
21.00 End