Want to learn more about DSLs, parsers, interpreters, compilers and language design?
How to Add JARs to a Jetbrains MPS project

How to Add JARs to a Jetbrains MPS Project

Jetbrains MPS is a wonderful tool to create DSLs. We love it and use it regularly in our consultancy work. So we have written about Jetbrains MPS before. Being a projectional editor allows you to easily create DSLs that can be used through a graphical interface or things like mathematical formulas. Though all this power […]

Getting started with ANTLR in C#

Readers of this website will know that ANTLR is a great tool to quickly create parsers and help you in working with a known language or create your DSL. While the tool itself is written in Java, it can also be used to generate parsers in several other languages, for instance Python, C# or Javascript (with […]

Introduction to WebAssembly

Introduction to WebAssembly: why should we care?

There is a new weapon in the great war against JavaScript the struggle to allow developers to choose their favorite style of programming while improve performance and their productivity. That weapon is WebAssembly, that will revolutionize client-side web development. WebAssembly, or wasm, is a low-level bytecode format for in-browser client-side scripting. If you are writing […]

A Guide to Natural Language Processing

A Guide to Natural Language Processing

What can you use Natural Language Processing for? Natural Language Processing (NLP) comprises a set of techniques that can be used to achieve many different objectives. Take a look at the following table to figure out which technique can solve your particular problem. What You Need Where To Look Grouping similar words for search Stemming, […]

A Guide to Parsing: Algorithms and Terminology

We have already introduced a few parsing terms, while listing the major tools and libraries used for parsing in Java, C#, Python and JavaScript. In this article we make a more in-depth presentation of the concepts and algorithms used in parsing, so that you can get a better understanding of this fascinating world. We have […]

Parsing HTML: A Guide To Select The Right Library

Parsing HTML: A Guide to Select the Right Library

HTML is a markup language with a simple structure. It would be quite easy to build a parser for HTML with a parser generator. Actually, you may not need even to do that, if you choose a popular parser generator, like ANTLR. That is because there are already available grammars ready to be used. HTML […]

JArchitect: review of a tool to manage your Java project

JArchitect is a software to analyze Java projects. I think we need to use software to reason about software. As software developers we are building software to help other professionals in doing their job but still we rely not so much on software to help us in our work. We like the romantic ideas of […]

NDepend: Static Analysis For Software Architects

NDepend: Static Analysis For Software Architects

NDepend is a tool that helps .NET developers to write beautiful code This is a definition that does not come from the official documentation, but from a post on the blog of its developer. We like it because it is more interesting than the technical one: NDepend is a static analysis tool for .NET code […]

EBNF: How to describe the grammar of a language

The EBNF is the most commonly used formalism to describe the structure of languages. In this article we are going to see: What the EBNF Examples of grammars defined with EBNF How we can define a grammar using EBNF A few things to consider when using EBNF How to use EBNF in practice today A summary […]

Parsing in Python: Tools and Libraries

Parsing In Python: Tools And Libraries

This is an article similar to a previous one we wrote: Parsing in Java, so the introduction is the same. Skip to chapter 3 if you have already read it. If you need to parse a language, or document, from Python there are fundamentally three ways to solve the problem: use an existing library supporting […]


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.

Follow me on Feedly

follow us in feedly

Blog Categories