Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Toy Language Interpreter

This project is a Java implementation of a small custom programming language interpreter built as part of a university assignment.

It simulates how a programming language works internally by parsing and executing statements step by step, while managing memory, variables, and program state.


What It Can Do

The interpreter supports:

  • Arithmetic and relational expressions
  • Variable declarations and assignments
  • if statements
  • while loops
  • Heap allocation and heap access
  • File operations (open, read, close)
  • Forked (concurrent) execution
  • Basic garbage collection
  • A JavaFX graphical interface

How It's Structured

The project follows a layered architecture:

src/ controller/ exceptions/ gui/ model/ expression/ state/ statement/ type/ value/ repository/ view/

  • Model – Defines the language structure (expressions, statements, types, values)
  • Controller – Handles execution logic
  • Repository – Manages program state and logging
  • View / GUI – Text-based menu and JavaFX interface

Technologies Used

  • Java
  • JavaFX
  • Object-Oriented Programming principles

Running the Application

Main class: gui.GuiMain

If running with a manual JavaFX SDK setup: --module-path PATH_TO_JAVAFX/lib --add-modules javafx.controls,javafx.fxml

About

A toy interpreter I created in Java

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages