This revision introduces the grammar for the search query language and completes the setup required for a smoother development of the grammar.
The parsers generated from the proposed grammar serve two different purposes:
- Translation of search queries into elasticsearch DSL (or any other search backends that we may use in the future)
- Autocompletion of the queries in the SWH Archive User Interface
tree-sitter is an excellent candidate for the task because it has bindings for python (swh.search) as well as wasm (swh.web)