Metody translacji

Semestr zimowy 2003/2004

Wykład

Poniedziałek 14:15-16:00, sala 32

Ćwiczenia:

Poniedziałek 16:15-18:00, sala 36/50a (grupa W. Charatonika)
Piątek 8:15-10:00, sala 57/50b (grupa M. Piotrowa)

Egzamin odbędzie się 2.2.2004 o godzinie 12:30 w sali 31. Drugi termin 20.2.2004 od godz. 13:00, sala 34. Na agzaminie można korzystać z książek, wydruków i własnych notatek.
Wyniki egzaminu

Listy zadań: 00   01   02   03   04   05   06   07   Jest już znana treść drugiego zadania na pracownię

Slajdy do wykładu (dzięki uprzejmości Reinharda Wilhelma) wg książki Wilhelm i Maurer Compiler design

Więcej slajdów można znaleźć na stronach wykładu sprzed roku, wykładu w Saarbrücken albo innego wykładu w Saarbrücken.

Zasady zaliczania (grupa W. Charatonika)

Ocenę z zaliczenia oblicza się na podstawie

Pierwszy projekt na pracownię (grupa W. Charatonika)

Napisać kompilator rekurencyjny własnego prostego języka do kodu maszyny ze stosem. Język wejściowy musi obejmować co najmniej Oprócz samego kompilatora pakiet musi dawać możliwość wykonania wygenerowanego kodu (interpreter maszyny ze stosem) i przeglądania kodu wynikowego (np disassembler).

Termin wykonania:

Drugi projekt na pracownię

Używając flexa i bisona napisać translator języka while-programów (czyli języka z poprzedniego zadania), rozszerzonego jak niżej, na kod trójadresowy, oraz narzędzia umożliwiające przeglądanie i uruchamianie programów w tym kodzie. Do uruchamiania może służyć własny interpreter kodu trójadresowego lub translator na inny kod wykonywalny, np java bytecode, MSIL lub język odpowiednio rozszerzonej maszyny stosowej z poprzedniego zadania. Język powinien obejmować oraz dodatkowo jeden z trzech nastepujących elementów Dopuszczalna jest praca w zespołach dwuosobowych, ale wtedy dostarczony kompilator powinien implementować wszystkie trzy dodatkowe elementy.

Termin wykonania zadania: koniec semestru, czyli 26.01.2003
Przed świętami, czyli 22 grudnia, chciałbym zobaczyć specyfikację języka.