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.0Aby 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 -hNazwa 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. ↩