Interpreter for Timber Programs
Independent thesis Advanced level (professional degree), 20 credits / 30 HE creditsStudent thesis
There are many ways that code can be debugged. It can done by analyzing code, but is often easier with help of a computer. This can be done by adding printing statements or assertions, but also by using debuggers or interpreters.In this masters thesis the choices done while designing and implementing an interpreter for a subset of the programming language Timber is presented. It allows programs to be debugged in a platform independent manner and is also useful while using Timber as a modeling language. The interpreter tries to show the user what is happening instead of only computing the result.Instead of keeping a static copy of the program code and remembering the position and variables, the interpreter starts out with a copy of the code that is modified during evaluation. This code contains all variables and encompasses the whole state of the program, which can be shown to the user. This gives a complete view of the state of the program instead of just showing a list of all bound variables and the position in the code. This state can be made to resemble a stack trace but with much more details, in fact all details possible. Since all of this information is available as code, the interpreter can actually save the output as a new program that can later be run to continue evaluation.
Place, publisher, year, edition, pages
2014. , 45 p.
Technology, Timber, Interpreter, Interpreting, Debugger, Debugging
IdentifiersURN: urn:nbn:se:ltu:diva-49786Local ID: 7199bfdb-fca0-4b7b-822a-32033f942749OAI: oai:DiVA.org:ltu-49786DiVA: diva2:1023134
Subject / course
Student thesis, at least 30 credits
Computer Science and Engineering, master's level
Validerat; 20140617 (global_studentproject_submitter)2016-10-042016-10-04Bibliographically approved