This is simeple interpreter written in Scheme for a Java/C-ish language. It supports some Java language features, including object type, exception throwing, dot operator, gotos, call by value&reference and so on.
This is NOT a JVM implementation. Also, this does NOT support non-Integer number, method overloading, non-default constructors and abstract methods, as all these topics are beyond the scope of our course.
Configure
We highly recommend using the Pretty Big interpreter that comes with Dr.Racket to run our program. Other interpreter such as MIT/GNU Scheme and Chez Scheme would also work but will fail some of the our test cases.
Install
$ git clone https://github.com/DEC4F/Java-Interpreter.git
$ cd Java-Interpreter
Run
When using one of the Scheme interpreter mentioned above, if you want to interpret a certain Java file:
(load "Interpreter.scm")
(interpret filename)
Or if you simply want to test our program:
(load "Test.scm")
(test)
Test.scm
is script that automatically runs all of our test cases. For some issue we had with using box in the implementation, our interpreter didn't pass Test_13.
This repository is licensed under the Gnu Public License 3.0.