Want to learn more about DSLs, parsers, interpreters, compilers and language design?
Why You Should Know the Language Server Protocol

Why You Should Know the Language Server Protocol

The Language Server protocol is used between a tool (the client) and a language smartness provider (the server) to integrate features like auto complete, goto definition, find all references and alike into the tool. from Language Server Protocol In other words, it is a standard way to communicate between editor and language tools, like linters, […]

Interview with Thorsten Ball, author of “Writing an Interpreter in Go”

Thorsten Ball is the author of the book Writing an Interpreter in Go. I recently found out about his book and I reached out to him to ask a few questions about his ideas on creating programming languages, writing a book and discuss his approach. Let’s meet Thorsten Hi Thorsten can you start by telling us […]

Translate JavaScript to C#

Translate Javascript to C#

Let’s say you need to automatically port some code from one language to another, how are going to do it? Is it even possible? Maybe you have already seen a conversion between similar languages, such as Java to C#. That sounds much simpler in comparison. In this article we are going to discuss some strategies […]

The Simple Way to Find the Correct Syntax

The Simple Way to Find the Correct Syntax

It happens to the best of us, you are writing some code in a Language that you use sporadically and you start asking yourself what is the correct syntax for this or that. You know many languages and you start wondering how do you iterate the elements of a collection? Is it foreach, for .. in or something […]

Code Generation with Roslyn: a Skeleton Class from UML

Code Generation with Roslyn: a Skeleton Class from UML

We have already seen some examples of transformation and analysis of C# code with Roslyn. Now we are going to see how to create a more complex example of code generation with Roslyn and parsing with Sprache. We are going to create a skeleton class from a PlantUML file. In short, we are doing the […]

Code Climate: A service for static analysis

Code Climate: a Service for Static Analysis

GitHub has been a revolution for developers. You could consider SourceForge a predecessor, in the sense that it also let people share code. But GitHub it’s not simply a place where you can download programs, it’s mainly a platform for developers. One thing that GitHub has brought is integrations, of which there are many. The […]

Best posts on Language Engineering

Bests posts on Language Engineering

  In the past years, and in the last 12 months in particular I wrote tens of posts, some of which got a good response from you (thank you!). I thought it could be useful to create a list of the most relevant posts for each topic. It could help in particular new readers. ANTLR […]

Building a language: tool support

Building a language: tool support

When building a language there is one aspect which is absolutely crucial: that is tool support. Tool support will determine if your language is usable at all, it will influence the reception from user and the usability. In this video I explain why and how you can build great tool support with a limited effort. […]

Create a simple parser in C# with Sprache

Create a simple parser in C# with Sprache

Everybody loves ANTLR, but sometimes it may be overkill. On the other hand, a regular expression just doesn’t cut it or it may be too complicated to maintain. What a developer can do in such cases ? He uses Sprache. As its creators say: Sprache is a simple, lightweight library for constructing parsers directly in […]

Extracting JavaDoc documentation from source files using JavaParser

A lot of people are using JavaParser for the most different goals. One of these is extracting documentation. In this short post we will see how you can print all the JavaDoc comments associated to classes or interfaces. Code is available on GitHub: https://github.com/ftomassetti/javadoc-extractor Getting all the Javadoc comments for classes We are reusing DirExplorer, a supporting […]

Course: Using ANTLR Like A Professional

ANTLR Course Image

A complete video course on parsing and ANTLR, that will teach you how to build parser for everything from programming languages to data formats.
Taught from professionals that build parsers for a living.

Strumenta – Consulting

If you need help designing and developing DSLs, languages, parsers, compilers, interpreters, and editors you can check the services page of the Consulting studio we founded: Strumenta.Strumenta Logo

Blog Categories