Skip to content
This repository was archived by the owner on Jul 19, 2023. It is now read-only.

j-kk/Instant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kompilator języka Instant

Program należy skompilować poleceniem make. Zostaną utworzone dwa programy:

  • insc_llvm
  • insc_jvm

Programy te kompilują program napisany w języku Instant do kolejno LLVM i JVM. Domyślnie tworzony jest także bitkod llvm i skompilowana klasa Javy. Można to pominąć korzystając z flagi -c.

Budowa kompilatora

W katalogu lib/ znajduje się plik jasmin.jar, który umożliwia skompilowanie kodu maszynowego javy.

Kompilator został napisany w języku Haskell Implementacja znajduje się w katalogu src/. W nim są dwa pliki, kolejno dla każdej wersji języka docelowego. W podkatalogu parser/ znajduje się frontend, odpowiedzialny za parsowanie. Został on wygenerowany za pomocą bnfc. W podkatalogu compiler/ znajduje się backend, odpowiedzialny za generowanie kodu źrógłowego, a także funkcje pomocnicze.

Dołączono pliki .cabal są alternatywną opcją zbudowania kompilatora.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published