Automati i jezici

Nositelj

pred. mr. sc. Milan Davidović, dipl. ing., pred. Josip Divić, dipl. ing.

Naziv predmeta

AUTOMATI I JEZICI

Kod

VSITE204

Kratki naziv

AJEZ

Vrsta

Izborni kolegij

Razina

Kolegij jezgre

Godina

Prva

Semestar

Ljetni

ECTS
(uz odgovarajuće obrazloženje)

6 ECTS

(predavanja 45 sati - 1,5 ECTS / auditorne vježbe 30 sati - 1 ECTS / kolokviji, konzultacije, samostalni rad u laboratoriju i samostalno učenje 105 sati – 3,5 ECTS)

Ciljevi predmeta

Osposobiti studenta za razumijevanje jezika i prevođenja.

Preduvjeti za upis

---

Kompetencije koje se stječu

Kolegij pruža temeljna teoretska znanja s područja automata, gramatika i jezika kao osnovu jezgre računarstva.

Ishodi učenja

Nakon uspješno položenog predmeta studenti će moći:

  1. objasniti leksičku, sintaktičku i semantičku analizu, abecedu, niz, jezik i operacije među jezicima, Turingov stroj i gramatiku neograničenih produkcija,
  2. nabrojati klase jezika, automata i gramatika, programske prevodioce klasificirati programske jezike
  3. primijeniti programe za razlaganje i
  4. izraditi interpreter za funkcionalni jezik.

Sadržaj

Jezični procesori. Leksička, sintaktička i semantička analiza. Generiranje međukoda. Formalna definicija abecede, niza i jezika. Operacije među jezicima. Klasifikacija programskih jezika: imperativni, objektno orijentirani, funkcionalni i logički jezici. Jednostavni jednoprolazni kompilatori i interpreteri. Leksička analiza programskih jezika. Regularni jezici: Konačni automati. Regularni izrazi. Formalne gramatike. Regularne gramatike. Kontekstno neovisni jezici: Kontekstno neovisna gramatika. Potisni automat. Leksički generator - Lex. Sintaktička analiza. Top-down parseri. Generator parsera za LL(k) gramatiku. Bottom-up LR parseri i push-down automati. Generator parsera –Yacc. Sintaksno usmjereno prevođenje. Atribuirana gramatika. Apstraktno sintaktičko stablo i tablica simbola. Provjera tipova podataka. Generiranje međukoda i programskog koda za CISC procesore i virtualne stog procesore. Optimiranje koda. Primjer izrade kompilatora. Primjer izrade interpretera za funkcionalni jezik. Rekurzivno prebrojivi jezici: Turingov stroj. Gramatika neograničenih produkcija. Kontekstno ovisni jezici: Kontekstno ovisna gramatika. Linearno ograničeni automat. Razredba jezika, automata i gramatika: Strukturna složenost jezika. Složenost prihvaćanja jezika.

Preporučena literatura

  1. Srbljić, S.: Jezični procesori 1, Element, Zagreb, 2002.
  2. Srbljić, S.: Jezični procesori 2, Element, Zagreb, 2002

Dopunska literatura

 

Osiguranje literature

Svi nastavni materijali su dostupni studentu u elektroničkom obliku.

Student dobiva u trajno vlasništvo tiskani primjerak udžbenika ili skripte (izdanje VSITE).

Oblici provođenja nastave

Predavanja, auditorne vježbe, konzultacije, samostalan rad

Način provjere znanja i polaganja ispita

-       Kontinuirana provjera tijekom nastave (kolokviji po cjelinama)

-       Završni ispit (pismeni/usmeni)

 

Jezik poduke i mogućnosti praćenja na drugim jezicima

hrvatski, engleski

Način praćenja kvalitete i uspješnosti izvedbe svakog predmeta i /ili modula

-       Anketa o kvaliteti izvođenja nastave i nastavnih materijala

-       Pohađanje nastave i aktivnost u nastavi (povremena provjera od strane  voditelja studija)

-       Vrednovanje rezultata ispita (godišnje)