Module also offered within study programmes:
General information:
Name:
Kompilacja i kompilatory
Course of study:
2015/2016
Code:
BIT-2-108-OB-s
Faculty of:
Geology, Geophysics and Environmental Protection
Study level:
Second-cycle studies
Specialty:
Software and Data Bases in Geology
Field of study:
Applied Computer Science
Semester:
1
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
 
Responsible teacher:
dr hab. inż. Piórkowski Adam (pioro@agh.edu.pl)
Academic teachers:
dr hab. inż. Piórkowski Adam (pioro@agh.edu.pl)
Module summary

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student ma kompetencje do konstrukcji kompilatorów dla zadanych problemów przetwarzania danych i kompilacji IT2A_K06 Execution of laboratory classes
Skills
M_U001 Student powinien umieć stosować przekształcenia i uproszczenia w celu optymalizacji kodu IT2A_U14 Execution of exercises
Knowledge
M_W001 Student zna podstawy teorii kompilacji IT2A_W08 Execution of exercises
M_W002 Student zna podstawy analizy leksykalnej IT2A_W08 Test
M_W003 Student zna podstawy analizy syntaktycznej IT2A_W08 Execution of exercises
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student ma kompetencje do konstrukcji kompilatorów dla zadanych problemów przetwarzania danych i kompilacji - - - - - - + - - - -
Skills
M_U001 Student powinien umieć stosować przekształcenia i uproszczenia w celu optymalizacji kodu - - - - - - + - - - -
Knowledge
M_W001 Student zna podstawy teorii kompilacji + - - - - - - - - - -
M_W002 Student zna podstawy analizy leksykalnej + - - - - - - - - - -
M_W003 Student zna podstawy analizy syntaktycznej + - - - - - - - - - -
Module content
Lectures:

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

Practical classes:

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.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 60 h
Module ECTS credits 2 ECTS
Participation in lectures 15 h
Realization of independently performed tasks 7 h
Participation in practical classes 8 h
Preparation for classes 30 h
Additional information
Method of calculating the final grade:

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

Prerequisites and additional requirements:

Zaliczenie z przedmiotu Jezyki Formalne i Automaty

Recommended literature and teaching resources:

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.

Scientific publications of module course instructors related to the topic of the module:

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.

Additional information:

None