Error-Tolerant Parsing and Compilation for Hylo
Enabling Interactive Development
Bachelor Thesis
(2025)
Author(s)
V. Sersik (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Contributor(s)
J.S. Reinders – Mentor (TU Delft - Programming Languages)
Andreea Costea – Graduation committee member (TU Delft - Programming Languages)
Faculty
Electrical Engineering, Mathematics and Computer Science
To reference this document use:
https://resolver.tudelft.nl/uuid:5f796ca0-1b65-4d28-9255-6cb4b6810817
More Info
expand_more
expand_more
Publication Year
2025
Language
English
Graduation Date
25-06-2025
Awarding Institution
Delft University of Technology
Project
Programming Language Tooling for Hylo
Programme
Computer Science and Engineering
Faculty
Electrical Engineering, Mathematics and Computer Science
Reuse Rights
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Traditional compilers assume complete and syntactically correct input, making them ill-suited for modern interactive programming environments, where code is often incomplete or erroneous.
This paper examines how error-tolerant parsing, crucial for modern Integrated Development Environment (IDE) support, can be implemented in the Hylo programming language, which currently lacks this capability.
We identify key techniques from state-of-the-art compilers such as Roslyn and IntelliJ, including phrase-level recovery, token synchronization, combinator resilience, and Abstract Syntax Tree (AST) placeholders.
We evaluated their suitability for Hylo's architecture and implemented a prototype demonstrating AST placeholder integration.
This approach moves beyond the 'halt-on-first-error' model, enabling the parser to continue processing despite errors, producing a structurally sound abstract syntax tree annotated with diagnostics.
Our work highlights the potential of error-tolerant parsing to enhance developer experience in emerging languages and lays the foundation for IDE support and interactive tooling in the Hylo ecosystem.