Nazwa przedmiotu:
Metody translacji
Koordynator przedmiotu:
Dr Jan Bródka
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia I stopnia
Program:
Informatyka
Grupa przedmiotów:
Wspólne
Kod przedmiotu:
Semestr nominalny:
7 / rok ak. 2011/2012
Liczba punktów ECTS:
4
Liczba godzin pracy studenta związanych z osiągnięciem efektów uczenia się:
Liczba punktów ECTS na zajęciach wymagających bezpośredniego udziału nauczycieli akademickich:
Język prowadzenia zajęć:
polski
Liczba punktów ECTS, którą student uzyskuje w ramach zajęć o charakterze praktycznym:
Formy zajęć i ich wymiar w semestrze:
  • Wykład30h
  • Ćwiczenia15h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Biegła znajomość więcej niż jednego języka programowania wysokiego poziomu, znajomość wyrażeń regularnych i gramatyk bezkontekstowych, znajomość podstawowych struktur danych. Przydatna znajomość języka zorientowanego maszynowo (asemblera) Przedmioty poprzedzające: Teoria Automatów i Języków, Programowanie, Programowanie Obiektowe, Algorytmy i Struktury Danych I, Programowanie w Językach Zorientowanych Maszynowo (zalecane)  
Limit liczby studentów:
Cel przedmiotu:
Ogólna znajomość przebiegu procesu kompilacji, zrozumienie wpływu cech języka źródłowego (wysokiego poziomu) na wydajność generowanego kodu maszynowego, umiejętność przetwarzania tekstów o sformalizowanej strukturze metodami stosowanymi w kompilatorach
Treści kształcenia:
Program wykładu • Ogólne pojęcia i fazy procesu kompilacji • Przegląd własności języków programowania • Modele środowiska wykonawczego • Analiza leksykalna • Analiza składniowa i gramatyki bezkontekstowe, w tym metoda zejść rekurencyjnych, analizatory LL(1), analizatory LR(1) • Analiza semantyczna i gramatyki atrybutywne • Diagnostyka i obsługa błędów • Generowanie kodu pośredniego i wynikowego • Optymalizacja.   Program ćwiczeń Ilustracja materiału z wykładu, przykłady użycia generatorów FLEX i Bison oraz innych narzędzi wspomagających tworzenie kompilatorów.  
Metody oceny:
Pisemne zaliczenie końcowe. Łączną ocenę punktową przelicza się na stopnie według poniższych zasad: b)  3.5 jeżeli uzyskali od 61 do 70  pkt. c)  4.0 jeżeli uzyskali od 71 do 80  pkt. d)  4.5 jeżeli uzyskali  od 81 do 90  pkt. e)  5.0 jeżeli uzyskali powyżej 90  pkt.
Egzamin:
Literatura:
Aho A.V., Sethi R., Ullman J. D. Kompilatory: Reguły, metody, narzędzia, WNT 2002 Louden K.C. Compiler Construction: Principles and Practice, PWS 1997 dokumentacja programów FLEX i Bison
Witryna www przedmiotu:
Uwagi:

Efekty uczenia się