Want to learn more about DSLs, parsers, interpreters, compilers and language design?
Yes!

Getting started with Roslyn: transforming C# code

The code for this post is on GitHub: getting-started-roslyn Under the hood Making a programming language actually useful is not simply about designing it well. It is also about providing supporting tools around the language: compilers, obviously, but also editors, build systems, etc. There are few languages that give you tools to play under the hood. […]

Review of the second edition of Implementing Domain-Specific Languages with Xtext and Xtend

Review of the second edition of Implementing Domain-Specific Languages with Xtext and Xtend

I am a proud owner of the first version of this book and I intended to buy a copy of the second edition at some point. So when I was contacted by the publisher to write a review of the second edition I was very happy to accept the offer. Thank you to the author, Lorenzo […]

How to recognize dates in PDFs

How an engineer is supposed to survive accounting One of the “pleasures” of having your own business is dealing with accounting. Now, to survive I tried a few things like: generating invoices for my clients processing bank statements One boring thing to do is to organizing receipts and invoices I had to pay: travel expenses, […]

Generating bytecode

In this post we are going to see how to generate bytecode for our language. So far we have seen how to build a language to express what we want, how to validate that language, how to build an editor for that language but yet we cannot actually run the code. Time to fix that. […]

Building a compiler for your own language: validation

So you have parsed your code and built a clean AST for it. Now it is time to check if what the user has expressed make sense at all. We should perform validation, identifying semantical errors, to communicate together with lexical and syntactical errors (provided by the parser). This post is the part of a […]

Building a compiler for your own language: model-to-model transformations

Most of the work done in tools supporting a language consists in manipulating the AST. In this post we are going to see how to perform transformation and processing on the Abstract Syntax Tree through model-to-model transformations. These techniques will be useful to perform operation like: validation: finding errors in the AST remove syntax sugar: […]

Building a compiler for your own language: from the parse tree to the Abstract Syntax Tree

In this post we are going to see how process and transform the information obtained from the parser. The ANTLR parser recognizes the elements present in the source code and build a parse tree. From the parse tree we will obtain the Abstract Syntax Tree which we will use to perform validation and produce compiled code. Note […]

Building autocompletion for an editor based on ANTLR

Building autocompletion for an editor based on ANTLR

In this post we are going to see how to build autocompletion in our editor. We will derive the items to suggest automatically from our ANTLR grammar. This post is the part of a series. The goal of the series is to describe how to create a useful language and all the supporting tools. Building a […]

How to create an editor with syntax highlighting for your language using ANTLR and Kotlin

What we are going to build In this post we are going to see how to build a standalone editor with syntax highlighting for our language. The syntax highlighting feature will be based on the ANTLR lexer we have built in the first post. The code will be in Kotlin, however it should be easily […]

My first year as a consultant in France

My first year as a consultant in France

I think many of us are attracted by the idea to start their own business. This was something I was dreaming about for a while until the context made it possible. One year later this is how things are going. I also wrote about my progress when I was half of the way through my […]

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