Sempar — A Tool for Construction-Time Specification of Linting in Parsers - Glimfjord, Lucas; Simonsson, Hugo (My University, 2023)
A linter is a good tool to aid developers, however they are most common in larger, well-used languages such as Java or Python. They aid by giving feedback to the developer regarding their code, for example about code style or bad practices. A common problem is that it is hard to find linters for small languages or even more so for domain specific languages. In order to make it easier to implement linting rules for these languages we have implemented a tool that gives the language developer the ability to add linting rules when creating the language specification. We go into detail about how the tool works as well as show it in action with a case study. The case study is used to demonstrate how the tool can be used to implement a new syntax for an existing domain specific language used by Antura AB in their product.
Keywords: Domain specific language; linting; static analysis; compiler compiler; meta compiler; static checking