Projekt ten jest translacją kodu z Kotlin na C. Czyta kod źródłowy Kotlin i przekłada go na równoważny kod źródłowy C. Translator został zaimplementowany w Pythonie z wykorzystaniem biblioteki PLY (Python Lex-Yacc).
- Python 3.x
- Biblioteka PLY
-
Python 3: Upewnij się, że masz zainstalowanego Pythona 3.x na swoim systemie. Możesz pobrać go tutaj.
-
Biblioteka PLY: Po zainstalowaniu Pythona, zainstaluj bibliotekę PLY za pomocą pip:
pip install ply
-
Przygotuj Plik Kotlin: Napisz kod Kotlin, który chcesz przetłumaczyć i zapisz go jako
input.kt
. -
Uruchom Translator: Wykonaj skrypt translacyjny w Pythonie:
python main.py
Upewnij się, że Twój plik
input.kt
znajduje się w tym samym katalogu co skrypt translacyjny. -
Sprawdź Wynik: Po uruchomieniu skryptu sprawdź wygenerowany kod C w pliku
inputTranslated.c
.
-
Analiza Leksykalna: Skrypt najpierw wykonuje analizę leksykalną pliku Kotlin z użyciem modułu
lex
z PLY. Tokenizuje wejściowy kod Kotlin. -
Parsowanie: Następnie moduł
yacc
z PLY jest używany do parsowania. Przetwarza tokeny z leksera i stosuje dostarczone reguły gramatyki, aby wygenerować równoważny kod C. -
Generacja Wyników: Przetłumaczony kod C jest następnie zapisywany do pliku
inputTranslated.c
.
-
Pliki Wejściowe/Wyjściowe: Możesz zmienić ścieżki plików wejściowych i wyjściowych w skrypcie:
input_kotlin = "ścieżka/do/twójego/input.kt" output_file = "ścieżka/do/twójego/output.c"
-
Tokeny i Gramatyka: Możesz modyfikować tokeny i reguły gramatyczne według swoich potrzeb translacyjnych w skrypcie.
-
Translator obsługuje podstawowe konstrukty Kotlin. Skomplikowane funkcje i konstrukcje specyficzne dla Kotlin mogą nie być poprawnie przetłumaczone lub mogą wymagać dodatkowych reguł i logiki.
-
Obsługa błędów jest podstawowa, a translacja może nie powieść się lub wygenerować nieprawidłowe wyniki dla składniowo niepoprawnego lub złożonego kodu Kotlin.