Interpreters Blog Series (
from to on 05 Jan 2024 00:45

At SourceProbe, we are building fast and powerful code search tools. Our query engine uses a sort of mini-language to express the query. We are planning to add another internal language to our system, to provide even more precise results for your searches. Both of these rely on fast and efficient interpreters.

Interpreters are very common in software. In fact, large systems tend to develop interpreter like functionality, whether intentional or not (Greenspun’s rule). Outside of programming languages, they are also typically found in system emulators and any system which wants to add programmability.

So lets see what it takes to build an interpreter, and make it fast. In this first post, we’ll focus primarily on the languages we’ll use in future posts. Next we’ll build a few simple interpreters, and then explore techniques and tricks to make them fly.