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:

Teacher Johan Montelius created page 28 December 2014

Teacher Johan Montelius changed the permissions 21 January 2015

Kan därmed läsas av alla och ändras av lärare.
Johan Montelius edited 23 January 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 edited 1 February 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

One user removed his/her comment
commented 5 February 2015

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

Teacher commented 1 February 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 edited 1 March 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