Interpreter mojego własnego języka programowania
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bad
good
opis języka
.gitignore
AST.hs
Main.hs
Makefile
Parser.hs
ProgramState.hs
README.md
Translator.hs
TypeInferenceSystem.hs
V2 language features.md

README.md

Interpreter

Autor: Marian Dziubiak

Budowanie

Jeśli chcemy modyfikować kod to należy używać make interpreter, który nie czyści plików pośrednich. W przeciwnym przypadku wystarczy make

Flow

Program zaczynamy w pliku Main.hs skąd uruchamiamy Parser na pliku źródłowym, dostarczonym w argumencie. Następnie otrzymane AST jest przekazywane to modułu Translator, gdzie dokonywane jest sprawdzanie typów oraz konwersja drzewa AST do uproszczonego modelu z ProgramState. Na tym etapie obliczane są też globalne wartości. Na koniec uruchamiamy ewaluację funkcji main opisanej w pliku źródłowym.

Opis języka

W folderze opis języka znajdziemy plik README ze słownym opisem języka i plik gramatyki języka w formacie LBNF.

Przykładowe programy

W folderach good i bad znajdują się przykładowe programy. Te w folderze bad sie nie uruchamiają ze względu na pewne błędy.