Why to offer a roadmapping service for Language Engineering?

There are consolidated habits that have a negative effect when doing consulting. Lately I have been thinking about how things work during the initial contacts between a client and a consultant: the initial discussion that happens between them, before a contract is signed. Typically the consultant does two things: On one hand he tends to enfatically […]

The ANTLR mega tutorial

The ANTLR mega tutorial

Parsers are powerful tools, and using ANTLR you could write all sort of parsers usable from many different languages. In this complete tutorial we are going to: explain the basis: what a parser is, what it can be used for see how to setup ANTLR to be used from Javascript, Python, Java and C# discuss […]

Domain Specific Languages

The complete guide to (external) Domain Specific Languages

This guide will show you: the what: after a definition we will look into 19 examples of DSLs the why: what are the concrete benefits you can achieve using DSLs the how: we will discuss the different ways to build a DSLs and what are the success factors After that you will get a list […]

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 […]

Problems and Strategies to Port from 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 […]

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 […]

Follow me on Feedly

follow us in feedly

ANTLR Services

Do you need help with ANTLR?

I offer different services, you can learn more about my ANTLR services.

Blog Categories