SDL C++ Mini Interpreter
Budget: €30 – €250 EUR
The goal is to build a compact interpreter for a toy programming language in modern C++ (C++17 or newer) with SDL2 providing the project skeleton and cross-platform build environment.
Core behaviour
• Parse a plain-text source file that supports variable declarations, basic data types, if/else branches, while / for loops, and simple functions or procedures (no recursion needed).
• Execute the program in memory and display all runtime results—variable states, return values, error messages—directly to the console. No graphical output is required beyond standard stdout/stderr.
Key expectations
• Clean, modular code (lexer, parser, AST, evaluator).
• CMake-based build that compiles on Windows, macOS, and Linux with SDL2.
• Well-commented source plus a short README explaining language grammar, build steps, and two sample scripts that exercise every supported feature.
• A concise log of design decisions so future contributors can extend the language.
Deliverables
1. Complete source tree and CMake project.
2. README with build/run instructions.
3. Two example programs with expected console output.
4. Brief design document (½-1 page).
Acceptance will be based on successfully compiling the project, running the sample scripts, and matching the documented output.
Core behaviour
• Parse a plain-text source file that supports variable declarations, basic data types, if/else branches, while / for loops, and simple functions or procedures (no recursion needed).
• Execute the program in memory and display all runtime results—variable states, return values, error messages—directly to the console. No graphical output is required beyond standard stdout/stderr.
Key expectations
• Clean, modular code (lexer, parser, AST, evaluator).
• CMake-based build that compiles on Windows, macOS, and Linux with SDL2.
• Well-commented source plus a short README explaining language grammar, build steps, and two sample scripts that exercise every supported feature.
• A concise log of design decisions so future contributors can extend the language.
Deliverables
1. Complete source tree and CMake project.
2. README with build/run instructions.
3. Two example programs with expected console output.
4. Brief design document (½-1 page).
Acceptance will be based on successfully compiling the project, running the sample scripts, and matching the documented output.