Seminarium: Systemy Rozproszone
5 maj 2005, godzina 12:15, sala 3120
Tomasz Kokoszka (tk189405@students.mimuw.edu.pl)

Integracja preprocesorów języka Java w środowisku Eclipse


Twórcy platformy Java już na samym początku odrzucili potrzebę używania preprocesorów. Uznali, że warunkowa kompilacja, makra i szablony są zbędne w przypadku, gdy kod jest niezależny od maszyny docelowej.
Praktyka pokazuje jednak, że nie zawsze można się obejść bez preprocesora. Warunkowa kompilacja jest wręcz niezbędna, gdy z poziomu programu Java wywołujemy kod niezarządzany. Makra i szablony pozwalają często uprościć i skrócić kod. Dobrym przykładem jest implementacja SWT - dla maszyn 64 i 32 bitowych wymaga innej reprezentacji wskaźników do obiektów poza JVM.

Z drugiej strony przejrzysta struktura programu źródłowego pozwoliła stworzyć narzędzia takie jak Eclipse, które na bieżąco podpowiadają i uzupełniają składnię, wskazują błędy, kompilują w tle. Czy kiedyś doczekamy się czegoś podobnego dla języków C i C++, które mocno bazują na preprocesorze?
Jednocześnie Eclipse nie jest przystosowany do współpracy z programem Java zawierającym dodatkowe polecenia preprocesora.
W ramach mojej pracy magisterskiej rozszerzam platformę Eclipse o możliwość współpracy z dowolnym zewnętrznym preprocesorem języka Java. Podczas prezentacji przedstawię kilka preprocesorów (np. Java+, Java Syntactic Extender) oraz omówię funkcjonalność, którą chcę osiągnąć w kolejnych fazach realizacji projektu.

Do pobrania: prezentacja w formacie PowerPoint (70kB)

Zapraszam,
Tomasz Kokoszka