Nazwa przedmiotu:
Języki formalne i kompilatory
Koordynator przedmiotu:
dr inż. Bartosz Sawicki, sawickib@iem.pw.edu.pl, tel. 222345760
Status przedmiotu:
Obowiązkowy
Poziom kształcenia:
Studia II stopnia
Program:
Informatyka
Grupa przedmiotów:
Wspólne
Kod przedmiotu:
Semestr nominalny:
1 / rok ak. 2011/2012
Liczba punktów ECTS:
5
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
  • Ćwiczenia0h
  • Laboratorium0h
  • Projekt0h
  • Lekcje komputerowe0h
Wymagania wstępne:
Języki i metody programowania, Programowanie nisko poziomowe
Limit liczby studentów:
Cel przedmiotu:
Umiejętność zaprojektowania nowego języka komunikacji z maszyną, oraz wykonania oprogramowania interpretującego ten język.
Treści kształcenia:
Podstawowe zasady budowy kompilatorów, interpreterów i translatorów kodu. Analiza leksykalna. Standardowy generator analizy leksykalnej Lex. Wyrażenia regularne. Analiza składniowa. Formalny opis gramatyk bezkontekstowych. Gramatyki LL i LR. Dowodzenie jednoznaczności. Generator YACC. Analiza semantyczna. Generacja i optymalizacja kodu.
Metody oceny:
Ocena przedmiotu składa się w 50% z części wykładowej i 50% projektowej. Do zaliczenia wymagana jest ponad połowa maksymalnej liczby punktów.
Egzamin:
Literatura:
A. V. Aho, R. Sethi, J. D. Ullman - "Compilers: Principles, Techniques and Tools", Addison-Wesley, 1986 powyższa książka jest również dostępna w wersji polskiej ("Kompilatory: reguły, metody, narzędzia", WNT, 2002) W. M. Waite, G. Goos - "Konstrukcja kompilatorów", WNT, 1989 M. Foryś,W. Foryś, Teoria automatów i języków formalnych, Akademicka Oficyna Wydawnicza Exit, 2005.
Witryna www przedmiotu:
Uwagi:

Efekty uczenia się