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

Parsing SQL

You can find the code presented in this article in the companion repository SQL is a language to handle data in a relational database. If you worked with data you have probably worked with SQL. It is in the same league of HTML: maybe you never learned it formally but you kinda know how to […]

Quick Domain-Specific Languages in Python with textX

Introduction textX is a suite of Python modules and tools to quickly develop text-based domain-specific languages. Compared to heavyweight language workbenches such as Jetbrains MPS, Eclipse Xtext or Spoofax, textX is less powerful and not as feature-rich; however, it’s directly usable in Python with minimal effort as it’s just another Python library, and it has […]

Domain Specific Languages for smart contracts

There are some ideas that are gaining popularity: blockchains and smart contracts are among them. If we can ignore the hype and the inflated expectations I think they maybe ideas with a strong potential impact. I do not want to talk about these technologies in general but just from the point of view of a […]

JaRIKo, an RPG Interpreter in Kotlin

Introduction In this article, we’ll review JaRIKo, an open-source interpreter for a subset of the RPG programming language running on the Java Virtual Machine. People interested in legacy modernization techniques should find this interesting: as we’ll see in the course of the article, the driving force behind JaRIKo is the ultimate migration of a product with thousands […]

Why you should not use (f)lex, yacc and bison

In the field of parsing Lex and Yacc, as well as their respective successors flex and GNU Bison, have a sort of venerable status. And you could still use them today. But you should not do that. In this article will explain why they have problems and show you some alternatives. Lex and Yacc were […]

The Great New ANTLR 4.8

It has  been more than two years since the last major release of ANTLR, now version 4.8 is ready. ANTLR is a mature and well-tested project, but this release still manages to bring a new target, a fix for the C# packet, improvement on the compilation of the C++ runtime and a few fixes. New […]

A Guide to Low-code Platforms

What are low code platforms? A low-code (development) platform allows to create applications through graphical user interfaces and/or configuration instead of traditional computer programming. They can be a great tool for enterprise companies to reduce the cost of development mainly in two ways: by giving a software that non-developers can use to create apps tailored […]

Writing a browser based editor using Monaco and ANTLR

  This is a tutorial on creating a browser-based editor for a new language we are going to define. We are going to use two components: Monaco: it is a great browser-based editor (or a web editor: as you prefer to call it) ANTLR: it is the parser generator we love to use to build […]

Creating a Reverse Dictionary

Creating a Reverse Dictionary

In this article we are going to see how to use Word2Vec to create a reverse dictionary. We are going to use Word2Vec but the same results can be achieved using any word embeddings model. Do not worry if you do not know what any of this means, we are going to explain it. A […]

Application modernization: an interview with Ben Wilson

Why this interview? Companies invest a lot of money in custom software. Not only it costs significant amounts to build such software but it costs even more to maintain it and evolve it during the years. Successful software stay with the company across the decades and soon enough the technical platform used for the original […]

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