Skip to content

OrrMatzkin/OOP-Ex5-Simplified-java-Verifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simplified Java Verifier

This program was designed and created by Aviram Aloni and Orr Matzkin, as part of The Hebrew University of Jerusalem's 'Introduction to Object-Oriented Programming' course.

The verifier (s stands for simplified), performs a semantic analysis for the s-Java language (s stands for simplified), a critical phase of a compiler. It knows how to read s-Java code and determine its validity, but not to translate it to machine code.

s-Java is a programing language, which only supports a very limited set of Java, all its features are described here.

This exercise goals are:

  • Implementing with the concepts of Regular Expressions.
  • Designing & implementing a complex system.
  • Working with the Exceptions mechanism.

build

platform

Requirements

The s-Java Verifier requires the followin to run:

  • openjdk-16 version 16.0.1+

Run Locally

Clone the project

 git clone https://github.com/OrrMatzkin/OOP-Ex5-Simplified-java-Verifier.git

Go to the project directory

 cd OOP-Ex5-Simplified-java-Verifier

Start the analysis for a specific sjava file , run the sjavac file from the oop.ex5.main package

 java oop.ex5.main.Sjavac <source-file-name>

The output of the program is a single digit:

  • 0 – if the code is legal.
  • 1 – if the code is illegal.
  • 2 – in case of IO errors.

Documentation

To open the s-Java Verifier Java documentation clone the project

 git clone https://github.com/OrrMatzkin/OOP-Ex5-Simplified-java-Verifier.git

Go to the documentation directory

 cd OOP-Ex5-Simplified-java-Verifier/documentation

Open the index.html file with your web broswer.

About

The s-Java verifier performs a semantic analysis for the s-Java language, a critical phase of a compiler. It knows how to read s-Java code and determine its validity.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages