Description
Developed a custom, feature-rich interpreter for the Swift programming language from scratch using modern C++20.
- Engineered the frontend architecture using Flex for lexical analysis and Bison for parsing, successfully converting Swift source text into an executable structure.
- Implemented core language semantics and control flow, including variable/constant declarations, recursive function calls, if/else branching, and while/for-in loops.
- Developed support for complex data structures and strong typing, accommodating nested multi-dimensional subtypes (e.g., [[(Int, String)]]), arrays, dictionaries, sets, tuples, and strings.
- Programmed advanced Swift-specific language mechanics, such as function overloading, optional argument labels, range expressions, enumerations, and member properties.
- Packaged the application as a Command Line Interface (CLI) tool built with CMake, featuring custom debugging modes for step-by-step visibility into the lexing, parsing, and semantic analysis phases.
Tech Stack
Flex

