An interpreter for a custom programming language, built as an educational project to explore compiler design concepts such as lexical analysis, parsing, execution, and memory management. It was developed to understand how interpreters and programming languages work internally — from syntax trees to runtime execution. It has support for:
- Variables and arithmetic expressions
- Conditional statements (
if,while) - File operations and heap management
- Basic concurrency (fork statements)
- Model – Defines statements, expressions, and values
- Repository – Stores program states and execution logs
- Controller – Executes program logic step by step
- View/UI – Simple text-based interface to run sample programs
- Abstract Syntax Trees (AST)
- Type checking and error handling
- Symbol tables and heap management
- Stack-based execution model