Jacek Piwowarczyk
Zasady zaliczania
"Języki formalne i kompilatory"
laboratorium
2013
Zasady ogólne
Zajęcia laboratoryjne prowadzone w Katedrze Automatyki AGH z przedmiotu
,,Języki formalne i kompilatory" umożliwiają zapoznanie się z
zasadami tworzenia kompilatorów i oprogramowania pokrewnego
(translatorów). W ramach tych zajęć tworzony jest jeden program będący
podstawą zaliczenia z przedmiotu. Program ten nazywany jest dalej programem
projektowym.
Zajęcia w semestrze zostały podzielone na 3 etapy. Z każdym etapem
wiążą się określone terminy. Wyniki etapu oddawane są w formie
pisemnej.
- I etap - do 23.04.2013 należy przedstawić
propozycję tematu projektu; temat wymaga akceptacji prowadzącego
zajęcia;
- II etap - do 28.05.2013 należy opracować gramatykę
stosowanego w projekcie formatu,
- III etap - do końca semestru letniego należy
zaliczyć program projektowy ze sprawozdaniem.
Istnieje możliwość zmiany wcześniej wybranego i zaakceptowanego tematu
projektu.
Do przygotowywania dokumentów na zajęciach (sprawozdania, opisy,
referaty) należy użyć jednej z dystrybucji LATEX-a np. MikTEX i (ewentualnie) programu LyX.
Referaty
Przygotowanie referatu jest nieobowiązkowe. Ocena za referat może
wpłynąć na ocenę końcową w zakresie 0 . . +0,5 oceny.
W ramach referatu należy przygotować wystąpienie na
ok. 15 - 20 min oraz treść do prezentacji w internecie (html) - serwer
do uzgodnienia. Przedstawione informacje mogą być poparte własnymi
doświadczeniami np. na podstawie realizacji programu powiązanego z
tematem referatu.
Główne grupy tematyczne referatów to:
- stosowane w różnych dziedzinach formaty zapisu danych np. XML,
HTML, DXF, TEX,
- omówienie programów narzędziowych pomocnych w tworzeniu
translatorów np. Yacc.
Ocena programu
Podczas budowy programu należy przestrzegać następujących zasad
uwzględnianych przy ocenie projektu:
- program powinien być stworzony zgodnie z zasadami konstrukcji
translatorów (kompilatorów, interpreterów),
- podstawą realizacji programu jest gramatyka (etap_II),
- główne moduły programu projektowego (skaner i parser) mogą być
wygenerowane z wykorzystaniem dostępnych generatorów skanerów np. lex,
flex, aflex i
parserów np. yacc, bison, gen1s lub napisane ręcznie,
- językiem implementacji może być dowolny język programowania
wysokiego poziomu np. Ada, Basic, C/C++, Java, Pascal/Delphi dostępny
na komputerach w laboratorium, po uzgodnieniu z prowadzącym zajęcia.
Sprawozdanie
Wraz z programem należy oddać sprawozdanie.
Sprawozdanie powinno zawierać następujące informacje:
- Dane studenta - imię, nazwisko, rok i kierunek studiów, numer
grupy dziekanatowej,
- Datę oddania programu,
- Tytuł programu,
- Cel programu - krótki opis,
- Gramatykę stosowanego formatu,
- Opis i schemat struktury logicznej programu (skaner, parser,
generator kodu),
- Informacje o stosowanych pakietach zewnętrznych i programach
narzędziowych,
- Informacje o zastosowaniu specyficznych metod rozwiązania
problemu,
- Krótka instrukcja obsługi,
- Minimum 1 zestaw przykładowych wyników końcowych,
- Możliwe rozszerzenia programu (na przyszłość),
- Ograniczenia programu np. maksymalna liczba obsługiwanych
plików,
max. czas symulacji itp.,
- Inne informacje zależne od tematu.
W sprawozdaniu nie umieszczamy listingu
naszego programu.
Warunki uzyskania zaliczenia
Na ocenę końcową mają wpływ następujące czynniki:
- terminowość realizacji etapów projektu,
- ewentualna ocena za referat,
- ocena za program projektowy,
- ocena za sprawozdanie,
- orientacja w realizowanym projekcie.