Dato | Emne | Læsestof | Øvelser | |||
---|---|---|---|---|---|---|
Introduktion til sproglige begreber.
Syntaks (abstrakt, konkret), semantik, pragmatik, sprog og metasprog. Prolog workshop 1 | Sprog og abstrakte maskiner 1, 4.1, 4.2 kursorisk, 5. Bratko 1-2 (minus 2.4, 2.6.3 og grafiknotation s. 20-22) | Brug af Sictus Prolog incl. debugger. Bratko, 1.11.2 (s. 8), 1.4, 1.5 (s.13), 2.1 (s. 33) 2.3 (s. 38). Sprog og abstrakte maskiner 5.1 og 5.2, som ikke er i bogen men her Og afprøv iøvrigt de forskellige eksempelprogrammer ved at stille forespørgsler. Brug også debuggeren. | ||||
Prolog workshop 2
Lister, operatorer, assert/retract, negation m.v. | Bratko, kap. 3 pånær 3.2.3-3.2.6
Notat nr. 1. Et eksempel på kontrol i Prolog Sprog og abstrakte maskiner s. 45-47. | Bratko 2.3 (s. 38), 3.12 (s. 79), 3.16-3.19 (s. 85) Sprog og abstrakte maskiner 4.5 s. 18. Eksperimenter med program fra Notat nr. 1 | ||||
Abstrakte maskiner: Eksempler, definition af oversætter, fortolker m.v. Prolog workshop fortsat. | Sprog og abstrakte maskiner 1-3. | Diskussionsopgaver: Sprog og abstrakte maskiner opg. 1.1 s. 2, 2.1 s. 12, 2.4–2.7 s. 18 samt følgende Prologopgaver 1-4. | ||||
Sprog og metasprog, Prolog som metasprog, Semantik af sekventielle og imperative sprog - definerende fortolkere og oversættere i Prolog. | Sprog og abstrakte maskiner 4.4 og 6 | Evt. gennemgang of opg. fra sidst. Sprog og abstrakte maskiner 6.2 s. 89, 6.4 s. 95, 6.6 s. 98. NB: Det er en fordel at teste og trace de fortolkere og oversættere, man skal modificere, inden opgaverne. | ||||
Erklæringer, typer, typecheck, kontekst-afhængigheder,
klassedefinitioner, rekursive procedurer.
Workshop med småopgaver, som afspejler dagens stof og giver brikker til storopgaven. | Sprog og abstrakte maskiner 8 samt Notat nr. 2 | Opgaver om typer; vi koncentrer os opg. 1 og 2, og opgave 3 er til dem, som bliver hurtigt færdige eller har god tid. | ||||
Kort præsentation af storopgave, som handler om at implementere run-time struktur for rekursive procedurer. |
Storopgaven
| Arbejde med storopgaven i workshop | ||||
Opsamling på storopgave
Turingmaskiner:
afgørlighed, beregnelighed og universalitet,
Halting-problemet.
| Sprog og abstrakte maskiner 10 | Sprog og abstrakte maskiner 10.3 (aftest løsning i simulatoren) og 10.7 | ||||
Constraintlogikprogrammering:
CLP(R) og CHR; CHR som bottom-up parser.
+ gennemgang af storopgaven og evt. opgaver vdr. Turing-maskiner | Sicstus Prolog manualen afs. 32 og 34;
Notat 3: Constraintlogik: Eksempler og opgaver.
Notat 3: Constraintlogik: Eksempler og opgaver.
| Opgave 1 og 2 i Notat 3. | ||||
Syntaksanalyse:
Leksikalsk analyse og parsing.
tilstandsmaskiner, parsing: top-down og skitse af bottom-up. | Sprog og abstrakte maskiner, kapitel 12 (minus 12.4 og 12.7), kapitel 13 (13.4-13.7 kursorisk). | Opgaver til leksikalsk analyse og parsing opgave 1, 2 og evt. 3. | ||||
Oversigt over compiler. Fortolkning eller oversættelse af Prolog. Kursusevaluering | Side 10-15 af Aho, Sethi, Ullman:
Compilers: Principles, Techniques and Tools,
Addison-Wesley 1986.
Sprog og abstrakte maskiner kapitel 14 og appendiks B. | Opgaver om fortolkning af Datalog |
Forfatter | Titel | År | Forlag | Note |
---|---|---|---|---|
Henning Christiansen | Sprog og abstrakte maskiner, 3. reviderede udgave | 2000 | Datalogiske noter 18, Roskilde Universitetscenter, Datalogiafdelingen. | Notesalg. Se rettelsesliste |
Ivan Bratko | Prolog, Programming for Artificial Intelligence, Third edition | 2001 | Addison-Wesley | Bogens hjemmeside med programeksempler og andet godt. |
Reference |
---|
Henning Christiansens hjemmeside |
Computer Science Bibliography |
Billeder af Giovanni Bellini |
Sicstus Prolog manual |
Eksamenspensum: Den litteratur, som fremgår af kursusplaen ovenfor. |
BILAG til eksamensopgave: xsamples xtools |
EMSAMENSOPGAVE: Xopgave.doc , Xopgave.pdf, Xopgave.ps, Xopgave.html. |
KURSETS POSTLISTE dat-sl@ruc.dk |
Programeksempler til hver gang findes på BLAKE (lokal Novell-server, som kræver password) |
Sicstus Prolog kan udleveres frit til studerende i driftsafdelingen. |
Navn | Funktion | ||
---|---|---|---|
Henning Christiansen | henning@ruc.dk | Lærer |