Champai jest kompilatorem prostego języka imperatywnego glang
do kodu maszyny rejestrowej GVM
powstałym na potrzeby kursu Języki Formalne i Techniki Translacji realizowanego w ramach studiów informatyki na Wydziale Podstawowych Problemów Techniki Politechniki Wrocławskiej.
Champai został napisany w języku Python
w oparciu o SLY
- nowoczesną implementację narzędzi lex
i yacc
powszechnie wykorzystywanych do tworzenia parserów i kompilatorów. Tworzony z myślą o rozszerzalności i prostocie utrzymania, Champai charakteryzuje nieskomplikowana budowa i dobrze udokumentowany kod źródłowy.
W celu uruchomienia kompilatora koniecznie jest zainstalowanie w systemie Pythona
w wersji 3.6
lub nowszej oraz biblioteki SLY
. W tym celu można skorzystać z przygotowanego skryptu install.sh
lub ręcznie wywołać następujące polecenia:
$ sudo apt update
$ sudo apt install python3 -y
$ sudo apt install python3-pip -y
$ pip3 install sly==0.3.0
Aby skompilować kod źródłowy programu napisanego w prostym języku imperatywnym glang
do kodu maszynyy rejestrowej GVM
przy użyciu kompilatora Champai należy w katalogu zawierającym plik champai.py
użyć polecenia:
$ python3 champai.py [input_file] --out [output_file]
gdzie input_file
oznacza nazwę lub ścieżkę do pliku źródłowego, a output_file
- nazwę lub ścieżkę do pliku wynikowego.
Szczegółowe informacje dostępne są po wykonaniu komendy:
$ python3 champai.py -h
Nazwa Champai bierze się najprawdopodniej z języka fińskiego i powiązana jest z popularnym wśród tamtejszych górali zwrotem jano, jano, jano!
1.
Footnotes
-
Na podstawie wypowiedzi znawcy kultur ugrofińskich, dr in spe Macieja Kabały. ↩