Interpreter
The Interpreter design pattern defines how to implement an interpretation of a language using the object-oriented programming.
The Interpreter design pattern defines how to implement an interpretation of a language using the object-oriented programming. It can be an interpretation of our own programming language or e.g. evaluation of a mathematical expression. The pattern solves how to represent the language code in memory as a set of objects and how to execute it later. On the contrary, it does not solve the problem of parsing the source code into this object model, it only describes how the model should look like and how to evaluate it later. We'll show a working example of parsing mathematical expressions.
Motivation
Although there might be already too many programming languages out there
today, sometimes we can still get into a situation where it's useful to
implement our own meta-language. E.g. a Spanish SQL dialect for company scripts,
which even people without English knowledge will be able to use, and will have a
simpler grammar. The code in such a language might look like
Actualizar personas establece nombre "John" donde nombre es "Johnny"
.
Then we'd like to process the code in this language and interpret it to the code
of another language, e. g. to execute real SQL statements based on this Spanish
database language. This code would be translated into
UPDATE personas SET nombre="John" WHERE nombre="Johnny"
. For the
ideal implementation of our interpreter, we don't have to go far, it's one of
the GOF patterns.
Pattern
Interpreter introduces 2 basic language expression types:
...End of the preview...
Continue further
You've come here and that's great! We believe that the first lessons showed you something new and useful
Do you want to continue the course? Go to the premium section.
Buy this course
This article is licensed: Premium, by buying this article, you agree with the terms of use.
- Unlimited and permanent access to individual lessons.
- High quality IT knowledge.
- Skills to help you get your dream and well-paid job.
Article description
Requested article covers this content:
The Interpreter design pattern defines how to implement an interpretation of a language using the object-oriented programming.
You gain credits by supporting our network. This is done by sending a helpful amount of money to support the site, or by creating content for the network.