BPRD spørgsmål til reeksamen 10. marts 2011 1. Værdier, udtryk og funktioner i programmeringssproget F#. Beskriv disse sprogelementer, gerne med eksempler, herunder et eksempel på en rekursiv funktion. 2. Lister, typer, brugerdefinerede typer i programmeringssproget F#. Beskriv disse sprogelementer, gerne med eksempler, herunder anvendelsen af brugerdefinerede typer til at repræsentere abstrakt syntaks. 3. Højere-ordens funktioner i F# og/eller C#. Beskriv disse med eksempler, fx listefunktioner i F# eller Linq-relaterede funktioner i C#. 4. Abstrakt syntaks. Brug gerne kursets simple udtrykssprog, eller ordre (statement) delen af kursets MicroC-sprog, som eksempel. 5. Regulære udtryk, lexere og lexerspecifikationer (med fslex). 6. Grammatikker, parsere og parserspecifikationer (med fsyacc). 7. Typer og typetjek. Beskriv simple typer for udtryk og skitsér hvordan typetjek kan beskrives enten ved typeregler eller med en F#-funktion. 8. Pointere og arrays i programmeringssproget C. Beskriv sammenhængen mellem disse, operatorerne &x, *p og arr[e], og relevante begreber såsom lvalue og rvalue af et udtryk. 9. Garbage collection. Beskriv nogle simple teknikker til garbage collection i sprog såsom Java og C#, herunder deres fordele og ulemper. 10. Stakmaskiner. Beskriv en abstrakt maskine med stak, fx til evaluering af simple udtryk eller MicroC-maskinen. 11. Bytecode. Beskriv elementer af bytekoden (virkemåde, eksempler på instruktioner) for enten Java Virtual Machine eller .NET Common Language Runtime.