Till KTH:s startsida Till KTH:s startsida

Meta interpreter

A meta interpreter is an interpreter for  language written in the language itself. An interpreter is, when it comes to programming languages, a program that can take a source program as input and execute the program generating the expected result. A meta-interpreter is an interpreter for a language written in the language itself (you might think that this is rather pointless since you would still need an interpreter to execute the meta-interpreter  but that is just negative thinking)

In this assignment you will learn more about functional programming languages as well as practice some Elixir programming. Do the sections one and two before the seminar so that you have a minimal interpreter up and running.

At the seminar we will discuss solutions, look at the extensions and also talk about different strategies.

Here is a summary of the operational semantics that also gives some insight in why we do as we do.

Slides from the TA-session:

Lärare Johan Montelius skapade sidan 28 december 2014

Lärare Johan Montelius ändrade rättigheterna 21 januari 2015

Kan därmed läsas av alla och ändras av lärare.
Johan Montelius redigerade 23 januari 2015

En meta-interpretator är en interpretator för en språk skrivet i språket själv. Det är en utmärkt övning för att få en bättre förståelse för hur ett programmeringsspråk är definierat och hur man med relativt enkla medel kan skriva en interpretator.  


* interpreter.pdf

Johan Montelius redigerade 1 februari 2015

En meta-interpretator är en interpretator för en språk skrivet i språket själv. Det är en utmärkt övning för att få en bättre förståelse för hur ett programmeringsspråk är definierat och hur man med relativt enkla medel kan skriva en interpretator.  


* interpreter.pdf

En användare har tagit bort sin kommentar
kommenterade 5 februari 2015

Vad bör vi ta med under "Utvärdering" i denna rapport?

Lärare kommenterade 1 februari 2017

Jag har uppdaterat beskrivingen så att den är konsisten dvs vi evaluerar {cons, {atm, a}, {atm, b}} till Erlang tupeln {a,b}. I de testexempel som jag gav hade jag skrivit [a|b] vilket är ett val man kan göra men då måste man naturligtvis ha det som genomgående representation.

Johan Montelius redigerade 1 mars 2017

A meta interpreter is an interpreter for  language written in the language itself. An interpreter is, when it comes to programming languages, a program that can take a source program as input and execute the program generating the expected result. A meta-interpreter is an interpreter for a language written in the language itself (you might think that this is rather pointless since you would still need an interpreter to execute the meta-interpreter  but that is just negative thinking)

In this assignment you will learn more about functional programming languages as well as practice som Erlang programming.


* interpreter.pdf
At the seminar we will discuss solutions and also talk about different strategies. 


* meta.pdf
Here is a summary of the operational semantics that also gives some insight in why we do as we do.¶


* operational.pdf