Pogojev za vključitev v delo ni.
Teorija programskih jezikov
Pri predmetu se obravnava teorija programskih
jezikov s poudarkom na uporabi matematičnih
metod pri podajanju jezikov in analizi njihovih
lastnosti. Obravnavajo se naslednje teme:
- konkretna in abstraktna sintaksa,
- induktivne definicije, definicije
- dokazovanje s strukturno indukcijo
- induktivni podatkovni tipi kot
- operacijska semantika kot
- funkcijski programski jeziki:
- polimorfizem, parametrični
- ukazni programski jeziki,
- denotacijska semantika: domene in
- izbirne vsebine: objektni
leksična in gramatična analiza kot
prevajanje konkretne v abstraktno
sintakso
podane z sodbami in pravili
sklepanja
po abstraktni sintaksi ali po
strukturi izpeljave
primer uporabe strukturnih definicij
in strukturne indukcije
induktivno definirana relacija,
semantika malih in velikih korakov
rekurzivne definicije, neučakani in
leni jeziki, statična analiza,
preverjanje tipov, varnost kot
posledica leme o napredku in leme
o ohranitvi, pomen varnosti v praksi
polimorfizem in Hindley-Milnerjeva
izpeljava tipov
specifikacije in dokazovanje
pravilnosti programov
zvezne funkcije, izrek o obstoju
negibnih točk, denotacijska
semantika funkcijskega
programskega jezika, interpretacija
rekurzije z negibnimi točkami
programski jeziki, paralelno
računanje, logično programiranje
• B.C. Pierce: “Types and Programming Languages”. The MIT Press 2002.
• J.C. Reynolds: “Theories of Programming Languages”. Cambridge University Press 1998.
• R.M. Amadio & P.-L. Currien: “Domains and λ-calculi”. Cambridge Tracts in Theoretical Computer Science 46. Cambridge University Press, 1998.
Cilj predmeta je predstavitev modernega,
matematičnega pristopa, k teoriji programskih
jezikov. Študenti pridobijo sposobnost analize
programskih jezikov ter osnovnih konceptov
povezanih z njimi.
Znanje in razumevanje:
Slušatelji se naučijo, kako načrtujemo in
analiziramo programske jezike s formalnimi
matematičnimi metodami.
predavanja, vaje, domače naloge
domače naloge, kolokviji, projekti, pisni izpit, ustni izpit
ocene: 5 (negativno), 6-10 (pozitivno) (po Statutu UL)
LUKŠIČ, Primož, HORVAT, Boris, BAUER, Andrej, PISANSKI, Tomaž. Practical E-Learning for the Faculty of Mathematics and Physics at the University of Ljubljana. Interdisciplinary journal of knowledge & learning objects, ISSN 1552-2210, 2007, vol. 3, str. 73-83. [COBISS-SI-ID 14269529]
BAUER, Andrej, STONE, Christopher A. RZ: a tool for bringing constructive and computable mathematics closer to programming practice. V: Computation and logic in the real world : Third Conference on Computability in Europe, CiE 2007, Siena, Italy, June 18-23, 2007 : proceedings, (Lecture notes in computer science, ISSN 0302-9743, 4497). Berlin