Programming Language Interpreter

A functional interpreter for a C-like language with object-oriented and functional features, written in Racket.

Overview

This interpreter parses and executes code written in a simplified C-like language. It supports class definitions, field access, method calls, and stateful object behavior using scoped environments and recursive evaluation. Separate test suites demonstrate both functional and object-oriented capabilities.

Core files include `Interpreter.rkt` for evaluation logic, and `classParser.rkt`, `simpleParser.rkt`, and `lex.rkt` for parsing and lexical analysis.

Technologies

This interpreter is built using a functional approach in Racket, combining principles of both functional and object-oriented programming to create a robust, C-like language environment. Key technologies utilized in this project include: Racket (Functional Programming), Recursive Evaluation & Scoped Environments, and OOP Simulation in Functional Contexts. By leveraging these techniques, the interpreter supports recursive computations, manages complex variable scopes, and constructs abstract syntax trees efficiently, while also simulating object-oriented paradigms in a functional framework.