Wydział Informatyki - Informatyka (S1)
Sylabus przedmiotu Metody kompilacji:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | nauki techniczne, studia inżynierskie | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Metody kompilacji | ||
Specjalność | systemy komputerowe i oprogramowanie | ||
Jednostka prowadząca | Katedra Inżynierii Oprogramowania | ||
Nauczyciel odpowiedzialny | Włodzimierz Bielecki <Wlodzimierz.Bielecki@zut.edu.pl> | ||
Inni nauczyciele | Piotr Błaszyński <Piotr.Blaszynski@zut.edu.pl> | ||
ECTS (planowane) | 4,0 | ECTS (formy) | 4,0 |
Forma zaliczenia | egzamin | Język | polski |
Blok obieralny | 10 | Grupa obieralna | 1 |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Zaliczone przedmioty: Programowanie w językach C i Java, Struktury danych, Architektura komputerów |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Ukształtowanie wiedzy i umiejętności niezbędnych do opracowania kompilatora dla komputera sekwencyjnego o prostej architekturze |
C-2 | Ukształtowanie świadomego rozumowania dokształcania się i odpowiedzialności za wspólne realizowanie projektów w zakresie tworzenia kompilatorów |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Definiowanie prostej architektury komputera i języka programowania tego komputera. | 2 |
T-L-2 | Implementacja analizatora leksykalnego dla zdefiniowanego języka programowania przy pomocy narzędzia FLEX | 3 |
T-L-3 | Implementacja analizatora składniowego dla zdefioniowanego języka przy pomocy narzędzia BISON. | 3 |
T-L-4 | Implementacja zdefiniowanych akcji semantycznych. | 2 |
T-L-5 | Implementacja generatora kodu dla wyrażeń arytmetycznych dla zdefionowanej architektury komputera | 3 |
T-L-6 | Generacja kodu dla instrukcji warunkowych i pętli. | 3 |
T-L-7 | Iimplementacja korzystania z tablic jedno- i wielowymiarowych. | 1 |
T-L-8 | Implementacja generatora kodu dla różnych typów danych. | 1 |
T-L-9 | Implementacja wywołań funkcji | 2 |
20 | ||
wykłady | ||
T-W-1 | Definicja translatora, kompilatora, interpretera Fazy kompilacji Struktura przodu kompilatora Struktura tylnej części kompilatora Definicja produkcji Definicja epsilon-produkcji Definicja gramatyki Gramatyki bezkontekstowe Gramatyki niejednocznaczne Definicja języka Drzewa wyprowadzeń | 2 |
T-W-2 | Łączność operatorów Priorytety operatorów a odpowiednia gramatyka Translacja sterowana składnią Definicja sterowana składnią Atrybuty syntezowane Przechodzenie drzewa w głąb Schemat translacji | 2 |
T-W-3 | Zstępująca analiza składniowa Przewidująca analiza składniowa Lewostronna rekurencja Składnia abstrakcyjna i składnia konkretna Translator dla prostych wyrażeń | 2 |
T-W-4 | Proste metody analizy leksykalnej: usuwanie znaków odstępu I komentarzy, rozpoznanie identyfikatorów i słów kluczowych Prosty analizator leksykalny Implementacja tablicy symboli L-wartości i R-wartości Translacja wyrażeń z zastosowaniem stosu | 2 |
T-W-5 | Symbole leksykalne, wzorce, leksemy Leksemy i tokeny Atrybuty symboli leksykalnych Błędy leksykalne Buforowanie w analizie leksykalnej Napisy i języki Operacje na językach | 2 |
T-W-6 | Wyrażenia regularne Definicje regularne Skróty notacyjne w wyrażeniach regularnych Rozpoznanie symboli leksykalnych Diagramy przejść | 2 |
T-W-7 | Tworzenie analizatora leksykalnego przy użyciu Leksa Specyfikacja dla Leksa Automaty skończone: deterministyczne i niedeterministyczne | 2 |
T-W-8 | Symulacja automatu niedeterministycznego Miejsce analizatora składniowego w kompilatorze Wyprowadzenie, typy wyprowadzeń Drzewo wyprowadzeń | 2 |
T-W-9 | Eliminacja lewostronnej rekurencji Faktoryzacja lewostronna Zbiór FIRST Zbiór FOLLOW | 2 |
T-W-10 | Budowa tablic przewidujących Gramatyka LL(1) Architektura parsera LL(1) i sposób jego działania | 2 |
T-W-11 | Redukcja w parserach wstępujących Czym jest uchwyt Sposób działania parsera wstępującego | 2 |
T-W-12 | Co to jest LR(0) sytuacja Automat LR(0) Gramatyka wzbogacona | 2 |
T-W-13 | Domknięcie zbioru sytuacji Architektura i algorytm LR parsera Tworzenie tablic parsera SLR(1) | 2 |
T-W-14 | Parser LR(1) Parser LALR(1) | 2 |
T-W-15 | Narzędzia YACC i BISON | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | udział w laboratoriach | 20 |
A-L-2 | przygotowanie do laboratoriów | 40 |
A-L-3 | Udział w konsultacjach i zaliczeniu formy zajęć. | 2 |
62 | ||
wykłady | ||
A-W-1 | UdziaL w wykładach | 30 |
A-W-2 | Przygotowanie do egzaminu | 24 |
A-W-3 | Udział w egzaminie | 2 |
A-W-4 | Udział w konsultacjach | 2 |
58 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykad informacyjny/konwerrsatoryjny |
M-2 | Ćwiczenia laboratoryjne |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena formująca: Ocena stopnia wykonywania zadań praktycznych pod koniec każdych laboratoriów |
S-2 | Ocena podsumowująca: Zaliczenie końcowe poprzez sprawdzenie efektów kształcenia: przedstawienie pytań i ocena odpowiedzi |
Zamierzone efekty kształcenia - wiedza
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_O1/01_W01 ma wiedzę w zakresie algorytmów projektowania kompilatorw | I_1A_W05 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-1 | S-2 |
I_1A_O1/01_W02 zna narzędzia do tworzenia kompilatorów | I_1A_W06 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-1 | S-2 |
I_1A_O1/01_W03 zna metody i techniki służące do komunikacji człowieka z komputerem poprzez tworzenie kompilatorów i translatorów | I_1A_W14 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-1 | S-2 |
I_1A_O1/01_W04 zna podstawowe metody przetwarzania danych i informacji | I_1A_W17 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-1 | S-2 |
Zamierzone efekty kształcenia - umiejętności
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_O1/01_U01 potrafi w zakresie podstawowym projektować, implementować i testować kompilatory i translatory | I_1A_U01 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-2 | S-1 |
I_1A_O1/01_U02 Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania kompilatorów i translatorów | I_1A_U02 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-2 | S-1 |
I_1A_O1/01_U03 Potrafi posługiwać się dokumentacją techniczną do narzędzi wsperające wytwarzanie kompilatorów | I_1A_U05 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-2 | S-1 |
I_1A_O1/01_U04 ma umiejętność opracowania lub wyboru algorytmu i struktur danych do tworzenia kompilatorów | I_1A_U19 | — | — | C-1 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-1 | S-1 |
Zamierzone efekty kształcenia - inne kompetencje społeczne i personalne
Zamierzone efekty kształcenia | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów kształcenia prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_O1/01_K01 świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie metod i narzędzi do tworzenia kompilatorów | I_1A_K01 | — | — | C-2 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-2 | S-1 |
I_1A_O1/01_K02 ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia kompilatorów | I_1A_K03 | — | — | C-2 | T-W-13, T-W-14, T-W-2, T-W-3, T-W-4, T-W-6, T-W-5, T-W-7, T-W-9, T-W-8, T-W-1, T-W-10, T-W-15, T-W-12, T-W-11, T-L-1, T-L-2, T-L-3, T-L-4, T-L-5, T-L-6, T-L-7, T-L-8, T-L-9 | M-2 | S-1 |
Kryterium oceny - wiedza
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_O1/01_W01 ma wiedzę w zakresie algorytmów projektowania kompilatorw | 2,0 | nie zna podstawowych metod projektowania kompilatorów |
3,0 | zna podstawowe metody projektowania kompilatorów oraz rozumie potrzebę projektowania kompilatorów na ogólnym poziomie | |
3,5 | zna szczegółowo podstawowe metody projektowania kompilatorów oraz rozumie potrzebę projektowaniakompilatorów na ogólnym poziomie | |
4,0 | zna szczegółowo podstawowe metody projektowania kompilatorów oraz wie jak zastosować je do projektowania prostych kompilatorów | |
4,5 | zna szczegółowo zaawansowane metody projektowania kompilatorów oraz wie jak zastosować je do projektowania kompilatorów | |
5,0 | zna szczegółowo zaawansowane metody projektowania kompilatorów oraz wie jak zastosować je do projektowania kompilatorów, oraz potrafi udowodnić i uzasadnić swoją wypowiedż | |
I_1A_O1/01_W02 zna narzędzia do tworzenia kompilatorów | 2,0 | nie ma więdzy o narzędziach do analizy leksykalnej i syntaktycznej |
3,0 | ma podstawową więdzę o narzędziach do analizy leksykalnej i syntaktycznej | |
3,5 | Ma wiedzę o narzedziu LEX do projektowania analizatorów leksykalnych | |
4,0 | Ma wiedzę o narzedziu LEX do projektowania analizatorów leksykalnych oraz narzędziu YACC do projektowania analizatorów składniowych | |
4,5 | Ma szczegóową wiedzę o narzedziu LEX do projektowania analizatorów leksykalnych oraz narzędziu YACC do projektowania analizatorów składniowych | |
5,0 | Ma szczegóową wiedzę o narzedziu LEX do projektowania analizatorów leksykalnych oraz narzędziu YACC do projektowania analizatorów składniowych oraz wie jak zastosować wiedze do projektowaniua analizatorów leksykalnych i składniowych | |
I_1A_O1/01_W03 zna metody i techniki służące do komunikacji człowieka z komputerem poprzez tworzenie kompilatorów i translatorów | 2,0 | nie zna podstawowych metod projektowania kompilatorów |
3,0 | zna podstawowe metody projektowania kompilatorów oraz rozumie potrzebę projektowania kompilatorów na ogólnym poziomie | |
3,5 | zna szczegółowo podstawowe metody projektowania kompilatorów oraz rozumie potrzebę projektowania kompilatorów na ogólnym poziomie | |
4,0 | zna szczegółowo podstawowe metody projektowania kompilatorów oraz wie jak zastosować je do projektowania prostych kompilatorów | |
4,5 | zna szczegółowo zaawansowane metody projektowania kompilatorów oraz wie jak zastosować je do projektowania kompilatorów | |
5,0 | zna szczegółowo zaawansowane metody projektowania kompilatorów oraz wie jak zastosować je do projektowania kompilatorów, oraz potrafi udowodnić i uzasadnić swoją wypowiedż | |
I_1A_O1/01_W04 zna podstawowe metody przetwarzania danych i informacji | 2,0 | nie zna podstawowych metod projektowania kompilatorów |
3,0 | zna podstawowe metody projektowania kompilatorów oraz rozumie potrzebę projektowaniakompilatorów na ogólnym poziomie | |
3,5 | zna szczegółowo podstawowe metody projektowania kompilatorów oraz rozumie potrzebę projektowaniakompilatorów na ogólnym poziomie | |
4,0 | zna szczegółowo podstawowe metody projektowania kompilatorów oraz wie jak zastosować je do projektowania prostych kompilatorów | |
4,5 | zna szczegółowo zaawansowane metody projektowania kompilatorów oraz wie jak zastosować je do projektowania kompilatorów | |
5,0 | zna szczegółowo zaawansowane metody projektowania kompilatorów oraz wie jak zastosować je do projektowania kompilatorów, oraz potrafi udowodnić i uzasadnić swoją wypowiedż |
Kryterium oceny - umiejętności
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_O1/01_U01 potrafi w zakresie podstawowym projektować, implementować i testować kompilatory i translatory | 2,0 | nie potrafi zaimplementować prostego kompilatora przekładającego podstawowe wyrażenia arytmetyczne na kod maszynowy. |
3,0 | potrafi zaimplementować bardzo prosty kompilator przekładający podstawowe wyrażenia arytmetyczne operujące na podstawowych typach danych (całkowite i zmiennoprzecinkowe) na kod maszynowy, jest w stanie zaimplementować obsługę instrukcji warunkowych bez zagnieżdżeń. | |
3,5 | potrafi wszystko to co na ocenę 3,0 oraz potrafi zastosować zasady dotyczące implementacji instrukcji warunkowych dla zagnieżdżonych konstrukcji. | |
4,0 | potrafi wszystko to co na ocenę 3,5 oraz potrafi przeanalizować powstały kod maszynowy w celu minimalizacji liczby skoków przy złożonych instrukcjach warunkowych. Potrafi również zaimplementować kompilacje konstrukcji pętli i tablic jednowymiarowych. | |
4,5 | potrafi syntezować pozyskane umiejętności w kompletny kompilator generujący kod z wykorzystaniem konstrukcji wymaganych naocenę 4.0 oraz dodatkowo zaimplementować tablice wielowymiarowe. | |
5,0 | potrafi syntezować kompilator generujący kod z wykorzystaniem konstrukcji wymaganych na ocenę 4.5 oraz zaproponować i wykonać dodatkowe funkcjonalności (np. obsługę funkcji, generowanie kodu dla architektury 64-bitowej) | |
I_1A_O1/01_U02 Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych i indywidualnych dotyczących wytwarzania kompilatorów i translatorów | 2,0 | nie jest w stanie uczestniczyć w pracach zespołu przygotowującym projekt języka i kompilatora |
3,0 | potrafi uczestniczyć w zespole przygotowującym projekt języka i kompilatora | |
3,5 | potrafi aktywnie uczestniczyć w zespole przygotowującym projekt języka i kompilatora | |
4,0 | potrafi aktywnie uczestniczyć w zespole przygotowującym projekt języka i kompilatora oraz analizować proponowane rozwiązania | |
4,5 | wymagania na ocene 4.0 oraz potrafi dodawać istotne propozycje w realizowanym projekcie | |
5,0 | wymagania na ocene 4.5 oraz potrafi wyjaśnić innym studentom w zespole zagadnienia dotyczące budowy kompilatora | |
I_1A_O1/01_U03 Potrafi posługiwać się dokumentacją techniczną do narzędzi wsperające wytwarzanie kompilatorów | 2,0 | nie potrafi zastosować dostępnej dokumentacji technicznej do implementacji kompilatora |
3,0 | potrafi przy pomocy prowadzącego i na podstawie dostępnej dokumentacji zaimplementować podstawowe funkcje kompilatora przy wykorzystaniu narzędzi LEX /FLEX oraz YACC/BISON | |
3,5 | potrafi przy pomocy prowadzącego i na podstawie dostępnej dokumentacji zaimplementować rozbudowane funkcje kompilatora przy wykorzystaniu narzędzi LEX/FLEX oraz YACC/BISON | |
4,0 | potrafi samodzielnie na podstawie dostępnej dokumentacji zaimplementować podstawowe funkcje kompilatora przy wykorzystaniu narzędzi LEX /FLEX oraz YACC/BISON | |
4,5 | potrafi samodzielnie na podstawie dostępnej dokumentacji zaimplementować rozbudowane funkcje kompilatora przy wykorzystaniu narzędzi LEX /FLEX oraz YACC/BISON | |
5,0 | potrafi samodzielnie na podstawie dostępnej dokumentacji zaimplementować rozbudowane funkcje kompilatora przy wykorzystaniu narzędzi LEX /FLEX oraz YACC/BISON oraz potrafi wyjaśnić innym studentom w zespole zagadnienia dotyczące budowy kompilatora | |
I_1A_O1/01_U04 ma umiejętność opracowania lub wyboru algorytmu i struktur danych do tworzenia kompilatorów | 2,0 | nie potrafi zastosować podstawowych algorytmów budowy kompilatorów |
3,0 | potrafi zastosować lub zmodyfikować podstawowe algorytmy przedstawione na wykładach do budowy kompilatora pozwalającego na implementacje wyrażeń arytmetycznych | |
3,5 | potrafi zastosować lub zmodyfikować podstawowe algorytmy przedstawione na wykładach do budowy kompilatora pozwalającego na implementacje wyrażeń arytmetycznych oraz tablic jednowymiarowych | |
4,0 | potrafi zastosować lub zmodyfikować podstawowe algorytmy przedstawione na wykładach do budowy kompilatora pozwalającego na implementacje wyrażeń arytmetycznych, tablic jednowymiarowych | |
4,5 | potrafi zastosować lub zmodyfikować podstawowe algorytmy przedstawione na wykładach do budowy kompilatora pozwalającego na implementacje wyrażeń arytmetycznych, tablic jednowymiarowych oraz instrukcji warunkowych | |
5,0 | potrafi zastosować lub zmodyfikować podstawowe algorytmy przedstawione na wykładach do budowy kompilatora pozwalającego na implementacje wyrażeń arytmetycznych, tablic wielowymiarowych oraz instrukcji warunkowych |
Kryterium oceny - inne kompetencje społeczne i personalne
Efekt kształcenia | Ocena | Kryterium oceny |
---|---|---|
I_1A_O1/01_K01 świadomie rozumie potrzeby dokształcania i dzielenia się wiedzą w zakresie metod i narzędzi do tworzenia kompilatorów | 2,0 | nie potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów |
3,0 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 3,0 | |
3,5 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 3,5 | |
4,0 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 4,0 | |
4,5 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 4,5 | |
5,0 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania w oparciu o dokształcenie z oceną 5,0 | |
I_1A_O1/01_K02 ma świadomość odpowiedzialności za wspólnie realizowane zadania dotyczące tworzenia kompilatorów | 2,0 | Nie potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów |
3,0 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania z oceną 3,0 | |
3,5 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania z oceną 3,5 | |
4,0 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania z oceną 4,0 | |
4,5 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania z oceną 4,5 | |
5,0 | Potrafi aktywnie uczestniczyć w pracach projektowych zespołowych dotyczących projektowania kompilatorów oraz zrealizował swoją część zadania z oceną 5,0 |
Literatura podstawowa
- Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Kompilatory, Reguły, Metody i Narzędzia, WNT, Warszawa, 2002
- Aho and al., Compilers: Principles, Techniques, and Tools, Addison Wesley, Boston, 2007
Literatura dodatkowa
- R. Wilhelm, D. Maurer, Compiler Design, Addison-Wesley, Boston, 1995