Skip to content

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.

Notifications You must be signed in to change notification settings

OrrMatzkin/OOP-Ex5-Simplified-java-Verifier

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

No packages published

Languages