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.
- 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.
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.
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.
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!