Logo Strumenta Strumenta
  • About us
    • How we work
    • The Chisel Method
    • Testimonials
    • Working with us
    • Our team
    • Corporate Resources
    • Careers
  • Services
    • Ready-to-go RPG to Python migration
    • Transpiler
    • Domain Specific Languages
    • Strategic Consulting
    • Consulting & Coaching
    • ANTLR Consulting
  • Products
    • Parser Ready-to-go
    • Crafting Powerful DSLs
    • Legacy Modernization Course
    • ANTLR Video Course
    • ANTLR Cheetsheet & FAQ
  • Articles
  • Contacts
The tomassetti.me website has changed: it is now part of strumenta.com. You will continue to find all the news with the usual quality, but in a new layout.

Our articles

Here we talk about parsing, tools and libraries, natural language processing and Kotlin

Edited by Federico Tomassetti

How to choose the target language for a migration

28 April 2025

How to Use the EGL Parser

14 April 2025

  • ANTLR
  • Application modernization
  • Code processing
  • Consulting
  • Domain specific languages
  • Editors
  • Jetbrains MPS
  • Language design
  • Language Engineering
  • Language Workbenches
  • Migration
  • Miscellany
  • Model driven development
  • Open-source
  • Parsing
  • Software Development
  • Browse all

Parsing

Parsing is the analysis of an input to organize the data according to the rule of a grammar.
There are a few ways to define parsing. However the gist remain the same: parsing means to find the underlying structure of the data we are given.

A tutorial on how to write a compiler using LLVM

In this article we will explore the implementation of a simple compiler able to translate the IBM RPG programming language into executable machine code for modern hardware. It is not a full featured RPG compiler: it implements a few basic constructs of the language but it is good enough to understand how the LLVM infrastructure can […]

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

Domain specific languages

Domain specific languages are languages meant for one thing, but they do it perfectly: think HTML, which is designed to write web pages. This is in contrast with general programming languages, that can do anything, but require more effort.
They can massively increase your productivity and allow non-programmers to write code in a language that they understand.

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

Recognizing hand-written shapes programmatically: find the key points of a rectangle

A far-fetched goal I have is using sketching on a whiteboard as a way to define programs. I mean formal programs that you can execute. Of course through your sketches you would define programs in a high level domain specific language, for example describing a state machine or an Entity-Relationship diagram. To do so I […]

Tools And Libraries

The right tool can make your life easier and improve your productivity, we share the ones we know and explain our readers how to use them.

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

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

Programming languages

Many programmers think about creating their own programming language. You can read these articles to know how to get started. If you want a practical guide on the subject we have also wrote a book: How to create pragmatic, lightweight languages.

68 Resources To Help You To Create Programming Languages

Here it is a new guide, to collect and organize all the knowledge that you need to create your programming language from scratch. Creating a programming language is one of the most fascinating challenge you can dream of as a developer. The problem is that there are a lot of moving parts, a lot of […]

The Difference Between a Compiler and an Interpreter

According to their definitions, the difference between a compiler and an interpreter seems clear enough: interpreter is a program that directly executes instructions written in a programming language compiler is a program that transforms source code in a low(er)-level language If you dig deeper, though, you find some blurring between the two. In fact an […]

Strumenta Tools to solve complex problems
Privacy Policy
P.IVA 11817320010
Company Information
  • Strumenta
  • Strumenta
  • Federico Tomassetti
  • Federico Tomassetti