Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Kompilacja i kompilatory
Tok studiów:
2015/2016
Kod:
BIT-2-108-OB-s
Wydział:
Geologii, Geofizyki i Ochrony Środowiska
Poziom studiów:
Studia II stopnia
Specjalność:
Oprogramowanie i bazy danych w geologii
Kierunek:
Informatyka Stosowana
Semestr:
1
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
dr hab. inż. Piórkowski Adam (pioro@agh.edu.pl)
Osoby prowadzące:
dr hab. inż. Piórkowski Adam (pioro@agh.edu.pl)
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Student zna podstawy teorii kompilacji IT2A_W08 Wykonanie ćwiczeń
M_W002 Student zna podstawy analizy leksykalnej IT2A_W08 Kolokwium
M_W003 Student zna podstawy analizy syntaktycznej IT2A_W08 Wykonanie ćwiczeń
Umiejętności
M_U001 Student powinien umieć stosować przekształcenia i uproszczenia w celu optymalizacji kodu IT2A_U14 Wykonanie ćwiczeń
Kompetencje społeczne
M_K001 Student ma kompetencje do konstrukcji kompilatorów dla zadanych problemów przetwarzania danych i kompilacji IT2A_K06 Wykonanie ćwiczeń laboratoryjnych
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
Wiedza
M_W001 Student zna podstawy teorii kompilacji + - - - - - - - - - -
M_W002 Student zna podstawy analizy leksykalnej + - - - - - - - - - -
M_W003 Student zna podstawy analizy syntaktycznej + - - - - - - - - - -
Umiejętności
M_U001 Student powinien umieć stosować przekształcenia i uproszczenia w celu optymalizacji kodu - - - - - - + - - - -
Kompetencje społeczne
M_K001 Student ma kompetencje do konstrukcji kompilatorów dla zadanych problemów przetwarzania danych i kompilacji - - - - - - + - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:

Wykład wprowadzający.
Analiza leksykalna.
Analiza leksykalna – LEX i FLEX.
Analiza składniowa.
Analiza składniowa.
Analiza leksykalna – YACC, BISON.
Optymalizacja kodu.

Zajęcia praktyczne:

1. Tworzenie analizatora leksykalnego w jez. C.
2. Wykorzystanie analizatora LEX/ FLEX
3. Tworzenie analizatora składniowego w jez. C.
4. Wykorzystanie YACC.
5. Wykorzystanie LLgen.
6. Optymalizacja kodu.
7. Zaliczenie.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 60 godz
Punkty ECTS za moduł 2 ECTS
Udział w wykładach 15 godz
Samodzielne studiowanie tematyki zajęć 7 godz
Udział w zajęciach praktycznych 8 godz
Przygotowanie do zajęć 30 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

Ocena końcowa = 100% oceny z ćwiczeń

Wymagania wstępne i dodatkowe:

Zaliczenie z przedmiotu Jezyki Formalne i Automaty

Zalecana literatura i pomoce naukowe:

1 Hopcroft J.E., Ullman, J.D.: Wprowadzenie do teorii automatów, języków i obliczeń. Wydawnictwo Naukowe PWN, Warszawa 2003
2 Forys M., Forys W.: Teoria Automatów i Języków Formalnych. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2005.
3 Waite W. M., Goos G.: Konstrukcja Kompilatorów. Wydawnictwa Naukowo-Techniczne, Warszawa 1989.
4 Hopgood F.R.A.: Konstrukcja Kompilatorów. PWN, Warszawa 1982.
5 Aho A. V., Sethi R., Ullman J. D.: Kompilatory- reguły, metody i narzędzia. WNT Warszawa 2002.

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

1. Piórkowski A., Żupnik M.: Loop optimization in managed code environments with expressions evaluated only once. TASK Quarterly, 2010 vol. 14 no. 4,pp. 377–384

2. KRAS, Szczepan; PIÓRKOWSKI, Adam. Using SSA optimization algorithm in virtual machine environments. Studia Informatica, 2016, 37.1: 97-111.

Informacje dodatkowe:

Brak