IMPLEMENTATION AND ANALYSIS OF A TREE-WALK INTERPRETER IN CPYTHON: A STUDENT'S PERSPECTIVE ON LANGUAGE DESIGN

loading.default
thumbnail.default.alt

item.page.date

item.page.authors

item.page.journal-title

item.page.journal-issn

item.page.volume-title

item.page.publisher

Web of Journals Publishing

item.page.abstract

The tree-walk interpreter Gustav, created as a thorough learning exercise for programming language implementation, is presented in this paper. The project expands the Lox language with more advanced features like lambda expressions, pipe operators, ternary expressions, and improved loop constructs, building on the fundamental ideas from Crafting Interpreters[1]. The implementation serves as a basic programming language and a teaching tool for compiler design concepts, showcasing the full interpreter pipeline from lexical analysis to runtime execution. This work offers insights into language design trade-offs, implementation difficulties, and the connection between language features and their underlying computational models by methodically analyzing each compilation phase. The interpreter maintains code clarity and extensibility while achieving 100% test coverage and exhibiting typical tree-walk performance characteristics.

item.page.description

item.page.citation

item.page.collections

item.page.endorsement

item.page.review

item.page.supplemented

item.page.referenced