https://github.com/kiarashvosough1999/jcompiler
Simple Interpreter With Java
https://github.com/kiarashvosough1999/jcompiler
compiler compiler-design interpreter java
Last synced: about 2 months ago
JSON representation
Simple Interpreter With Java
- Host: GitHub
- URL: https://github.com/kiarashvosough1999/jcompiler
- Owner: kiarashvosough1999
- License: mit
- Created: 2022-05-02T12:22:16.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-10-06T20:45:58.000Z (about 3 years ago)
- Last Synced: 2025-01-29T13:45:47.676Z (9 months ago)
- Topics: compiler, compiler-design, interpreter, java
- Language: Java
- Homepage:
- Size: 3.04 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# JCompiler
[](https://twitter.com/vosough_k)
[](https://www.linkedin.com/in/kiarashvosough/)This is the project assigned to me on Compiler Design course in Ferdowsi University Of Mashhad.
- [Features](#features)
- [Requirements](#requirements)
- [Usage](#Usage)
- [Contributors](#Contributors)
- [License](#license)## Features
The project splited into 3 phase. Each phase has its own tag on the repository, sofar I implemented below phases:
- [x] Phase 1 - Formated Program Printer
- [x] Phase 2 - Semantic Analysis
- [x] Phase 3 - Errors Detection## Requirements
| Platform | Minimum Java Version | Installation | Status |
| --- | --- | --- | --- |
| Any | 17.0 | [OpenJDK](https://openjdk.java.net) | Tested |## Usage
### Phase 1
for using phase one, switch to latest tag v1.0.0 to see the implementation.
You just need to implement your own **Jython** code in `test1.cl` file and run the main function.
As a result you see the terminal/console output of the code you implemented in a specific and general format, representing the jython code on `test1.cl`
which can be observed inside [Templates Phase 1](https://github.com/kiarashvosough1999/JCompiler/tree/master/Samples/outputTemplate/phase1).### Phase 2
for using phase two, switch to latest tag of v2.0.0 to see the implementation.
You just need to implement your own **Jython** code in `test1.cl` file and run the main function.
As a result you see the terminal/console output of the code you implemented in a spicific and general format for each scope defined in code and specific representation for each statement and its child statements
which can be observed inside [Templates Phase 2](https://github.com/kiarashvosough1999/JCompiler/tree/master/Samples/outputTemplate/phase2).### Phase 3
for using phase three, switch to latest tag of v3.0.0 or higher to see the implementation.
You just need to implement your own **Jython** code in `test1.cl` file and run the main function.
As a result you see the terminal/console output of error detected from your code including redundancy, undefined code, etc
which can be observed inside [Templates Phase 3](https://github.com/kiarashvosough1999/JCompiler/tree/master/Samples/outputTemplate/phase%203).## Contributors
Feel free to share your ideas or any other problems. Pull requests are welcomed.
## License
JCompiler is released under an MIT license. See [LICENSE](https://github.com/kiarashvosough1999/JCompiler/blob/master/LICENSE) for more information.