Aalborg den 11.02.2003

Kompilerkonstruktion: Introduktion vejlende løsninger

Opgave 1

Lav en liste over de programmeringssprog I kender og klassificer i forhold til de fire programmerings paradigmer som Sethi beskriver..
Programmeringssprog Paradigme Kommentar
C Imperativ Stadig favorit sproget til operativ systemer, database systemer og andre krævende programmer
C++ Imperativ/Objekt-orienteret C++ er bagud kompatibel med C, så man kan skrive C programmer med en C++ kompiler
Delphi Objekt-orienteret Borlands objekt-orienteret version af Pascal/Modula
Java Objekt-orienteret Syntaktisk minder Java en hel del om C++, men man kan ikke lave imperative programmer i Java, kun objekt-orienterede
Lisp Funktionel Lisp og dens utrolige mange afarter er populær indenfor den kunstige intelligens verden.
Pascal Imperativ Tidligere det sprog alle startede med at lære i dag meget lidt anvendt.
Prolog Logisk Det meget brugte værktøj Make er implementeret i prolog.
Smalltalk Objekt-orienteret Java har lånt mange ideer fra Smalltalk.
VisualBasic Imperativ/Objekt-orienteret VisualBasic er født imperativ men med de nye .Net er den ligeledes blevet objekt-orienteret.

Opgave 2

Et source program kan enten kompileres eller fortolkes. Beskriv fordele og ulemper ved både kompilering og fortolkning.

Fordele ved en kompiler over en fortolker:

Fordele ved en fortolker over en kompiler:

Opgave 3

Download og installer Java Developers Kit (JDK) Standard Edition 1.4.1 på din lokale pc. Ligeledes download og installer dokumentation til for JDK'en.

Ja tak gør venligst dette.

Opgave 4

Sethi opgave 1.4.

Se Java kilde koden Times.java.

Opgave 5

Sethi opgave 1.5.  

Jeg har i opgave 4 fået lavet en opgave jeg har testet ved at sidde og taste forskellige kombinationer af n og m ind. Dette er forholdsvis arbejdskraft krævende. Herudover kræver det at hver gang jeg laver en ændring til kildekode er jeg nødsaget til at taste alle de forskellige kombinationer ind igen (hvilket jeg nok ikke køre 117 gang). Det jeg har brug for er en regressions test facilitet så samtidig med at jeg skriver programmet laver jeg også et testprogram. Regression test faciliteten skal så gøre det nemt at gentage alle tests efter hver gang jeg har ændringer til min kildekode.

Venlig hilsen
Kristian Torp