IMPLEMENTATION AND ANALYSIS OF A TREE-WALK INTERPRETER IN CPYTHON: A STUDENT'S PERSPECTIVE ON LANGUAGE DESIGN
loading.default
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.