Skip to content
This repository has been archived by the owner on Nov 4, 2022. It is now read-only.

The alternative compiler of EOLANG to Java made by HSE University

Notifications You must be signed in to change notification settings

objectionary/hse-transpiler

Repository files navigation

Build Status

What this repository is for?

This repository proposes and demonstrates an alternative branch of the EO transpiler based on a new transcompilation model of EO programs to Java source codes.
The original (CQFN) model is depicted here. And the visualization of this (HSE) model can be found here.
Also you might want to read a draft of our paper that describes the model.

How is this transpiler better?

Our transpiler has two great advantages:

  1. It if much faster than the CQFN original implementation.
  2. The code based on this transpiler is much easier to read and comprehend. Also, the runtime library is also much more readable and understandable.

You can see the difference in performance of the old and the new models below: This model is faster! Have a look at this this Google Sheet for more comparisons.

How to Contribute

First, fork and clone this repo to your local machine and go to the hse-transpiler directory (you will need Git installed):

$ git clone git@github.com:HSE-Eolang/hse-transpiler.git
$ cd hse-transpiler

Second, make changes to the code you would like to enhance or fix. Don't forget to write some tests! Then, compile the transpiler (you will need Maven 3.3+ and Java SDK 8+ installed):

$ mvn clean install

If everything is smooth, submit a PR. We would appreciate it!

Just in case if you are looking for the runtime implementation, it is here. Have a look at our samples in this repository.