Want to learn more about DSLs, parsers, interpreters, compilers and language design?
Tabular projections in Jetbrains MPS: let's start building an accounting system

Tabular projections in Jetbrains MPS: let’s start building an accounting system

Jetbrains MPS is an amazingly flexible tool which permits to use several kinds of projections. Today we are going to take a look at tables. What is Jetbrains MPS to me Jetbrains MPS is a Language Workbench: a system to design languages and supporting tools. This is one definition of MPS, but for me it […]

A template system for Google Docs: Google Drive automation and PDF generation with Google Execution API

  My consulting business is getting more steam and I am starting to be annoyed by the administrative steps. Basically when I need to prepare a new invoice I have to: copy I template I have in my Google drive fill the data download a PDF archive the PDF on Dropbox send the PDF to […]

interview with jan köhnlein on typefox, dsls and xtext

Interview with Jan Köhnlein on TypeFox, DSLs and Xtext

Jan Köhnlein is a leading expert in DSL design and an Xtext committer. After obtaining his PhD from the Technical University of Hamburg he worked for companies very well known in the modeling field: Gentleware and Itemis. Recently he founded TypeFox together with Sven Efftinge and Moritz Eysholdt. I thought it was a good moment […]

Recognizing hand-written rectangles in an image

  Machine learning for points classification? Last time we have seen how to identify key points in an image. I was then thinking to use machine learning techniques to recognize the roles played by each point. I played for a while with Weka, a tool which make very easy to experiment with different Machine Learning […]

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

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

What if sketching on a whiteboard was a form of programming_

What if sketching on a whiteboard was a form of programming?

There are different possible notations for languages: textual and graphical are the two larger families. We can define graphical notations for formal languages. For example we can define a graphical notation to define state machines. A Domain Specific Language for state machines can be defined using JetBrains MPS. However the user would have to edit […]

Python reflection: how to list modules and inspect functions

  Recently I have been playing with some ideas about applying static analysis to Python and building a Python editor in Jetbrains MPS. To do any of this I would need to first build a model of Python code. Recently we have seen how to parse Python code, however we still need to consider all […]

Raising the level of abstraction_ what if we tried to do that bottom up_

Raising the level of abstraction: what if we tried to do that bottom up?

It is clear that software development is going in the direction of raising the level of abstraction since it was born. The reason is simple: we can juggle with so many concepts in our mind. If we are busy thinking about what we stored in the EAX register it is difficult to think about the […]

A book on creating languages and supporting tools

From some time I have been working on a book about creating languages. Why? Because I think that languages are extremely useful tools and by creating languages and supporting tools we have the power to change completely how people and organization works. I have seen the effect languages can have on productivity in real companies […]

Parsing Any Language in Java in 5 Minutes Using ANTLR: for Example Python

  I like processing code for several purposes, like static analysis or automated refactoring. The interesting part to me is to reason on the models you build from the Abstract Syntax Tree (AST). To get there you need a way to get the AST from your source files. This can be done easily using ANTLR and […]

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