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