Skip to content

A Java-based interpreter for a simple toy language, supporting int and bool data types, arithmetic and logical expressions, print statements, and if statements.

License

Notifications You must be signed in to change notification settings

denis-vp/toy-language-interpreter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Toy Language Interpreter (Java)

Java License

Welcome to the Toy Language Interpreter repository! This project is a Java-based interpreter for a simple toy language, currently supporting integer and boolean data types, arithmetic and logical expressions, print statements, and if statements. It provides a platform for understanding the basics of language interpretation and lays the foundation for potential enhancements in the future.

Features

  • Gui Debugger: Step through code and inspect variables in a gui debugger.
  • Data Types: Support for integer, float, boolean, string and reference data types.
  • Expressions: Evaluate arithmetic, logical and relational expressions.
  • Print Statements: Display results and messages in the interpreter.
  • If Statements: Implement conditional logic in your code.
  • Loops: Support for while and for loops.
  • Dynamic Allocation: Allocate memory for variables at runtime in the heap.
  • Garbage Collection: Automatically free memory for unused variables.
  • Threads: Run multiple threads in parallel.
  • Synchronization: Ensure thread safety with synchronized blocks.
  • Type Checker: Check for type errors in your code.

Future Plans

This project is an ongoing work in progress, and there are plans to enhance it with the following features:

  • Parser: Introduce a language parser for more structured code.
  • Additional Data Types: Expand the range of supported data types.
  • And More: Explore other language features and improvements.

Getting Started

To use the current version of the interpreter, simply compile and run the Java code. You can experiment with basic code snippets that demonstrate the existing features. Please note that this project is in its early stages, and future updates will bring more advanced functionality.

License

This project is licensed under the MIT License. You are free to use, modify, and distribute the code according to the terms specified in the LICENSE file.

Stay tuned for exciting developments as we continue to evolve this toy language interpreter!

About

A Java-based interpreter for a simple toy language, supporting int and bool data types, arithmetic and logical expressions, print statements, and if statements.

Topics

Resources

License

Stars

Watchers

Forks

Languages