Celem przedmiotu jest przygotowanie studenta do tworzenia i korzystania z narzędzi analizy kodu źródłowego. Jest to uniwersalna wiedza przydatna przy definiowaniu tekstowej komunikacji pomiędzy człowiekiem, a maszyną. Dotyczy ona wszystkich języków programowania, języków zapytań, a także języków opisujących dane, czy ich formatowanie. Słuchacze wykładu zostaną zapoznani z zasadami analizy leksykalnej, składniowej i semantycznej. Przedstawione są także podstawowe techniki wykorzystywane na etapie kodu pośredniego.
W ramach przedmiotu każdy student samodzielnie projektuje prosty język programowania oraz implementuje jego kompilator przy wykorzystaniu narzędzi ANTLR i LLVM.

Typ kursu: Z