Med Svarforslag UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. 3 sider (side 6, 7 og 8, rives ut, fylles ut og leveres)

Størrelse: px
Begynne med side:

Download "Med Svarforslag UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet. 3 sider (side 6, 7 og 8, rives ut, fylles ut og leveres)"

Transkript

1 Eksamen i : Med Svarforslag UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF Kompilatorteknikk Eksamensdag : Onsdag 3. juni 2009 Tid for eksamen : Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler : 5 sider (pluss vedlegg) 3 sider (side 6, 7 og 8, rives ut, fylles ut og leveres) Alle trykte og skrevne Les gjennom hele oppgavesettet før du begynner å løse den første oppgaven. Dersom du savner Sopplysninger i oppgaven, kan du selv legge dine egne forutsetninger til grunn og gjøre rimelige antagelser, så lenge de ikke bryter med oppgavens "ånd". Gjør i så tilfelle rede for disse forutsetningene og antagelsene. Deler av oppgavene 2 og 3 besvares ved bruk av vedlegg. Oppgave 1 (30%) Gitt følgende grammatikk, som opplagt er flertydig ( ambiguous ): S S S a Her er S startsymbol og eneste ikke-terminal, mens og a (og $) er terminalsymboler. 1.a Tegn LR(0)-DFA-en til grammatikken (etter standard utvidelse med S S), og nummerér tilstandene Svar 1.a: 1 4 S S S ->.S S -> S. S -> S.S S -> S S. S ->.S S S -> S. S S ->.S S S ->S. S S ->.a S ->.a a 5 S -> a. a 1.b Beregn First- og Follow-mengdene til S og S (det holder å oppgi dem). Angi så hvilke LR(0)-tilstander som får løst og som ikke får løst sine konflikter ved hjelp av SLR(1)- betrakninger. Forklar. 1

2 Svar 1.b: First Follow S a $ S a $ I tilstand 1 er bare skift mulig (med a), altså ingen konflikt. I tilstand 2 er det ut fra LR(0)-betrakninger en skift/reduser-konflikt, men den løser seg med SLR(1)-betrakninger siden Follow(S ) ikke inneholder. I tilstand 3 er bare skift mulig (med a), altså ingen konflikt I tilstand 4 er det med LR(0)-betrakninger en skift/reduser-konflikt, og den løser seg ikke med SLR(1)-betrakninger siden Follow(S) inneholder. 1.c Vis hvordan du, for hver av kravene 1.c.1 og 1.c.2 under, vil velge løsning på konfliktene i de LR(0)-tilstander som ikke fikk løst sine konflikter i 1.b. 1.c.1: Setninger i språket skal tolkes venstre-assosiativt 1.c.2: Setninger i språket skal tolkes høyre-assosiativt Svar 1.c: Det var altså bare tilstand 4 som ikke fikk løst sin konflikt i 1.b. Vi løser det da slik: 1.c.1: Vi reduserer med: S -> S S 1.c.2: Vi skifter for input til tilstand 3. Andre symboler er ulovlig. 1.d Gitt følgende litt mer kompliserte grammatikk (hvor * er et nytt terminalsymbol): S S S * S a Denne er også opplagt flertydig. Lag en grammatikk som er entydig, som beskriver samme språk, og der er høyre-assosiativ og * har høyere presedens enn. Svar 1.d: S -> T S T T -> * T a 1.e Avgjør om følgende grammatikk er en LR(1)-grammatikk. Forklar. A B x y D x B d e D e Her er A startsymbol, A, B og D ikke-terminaler og d, e, x, y terminalsymboler. 2

3 Svar 1.d: A ->.A $ A ->.B x y $ A ->.D x $ B ->.d x B ->.e x D ->.e x A B D d e A -> A. $ B -> e. x D -> e. x Start-tilstanden i LR(1)-DFAen blir som angitt til venstre over. Ut fra den kan man jo få mistanke om at e-kanten må føre til noe rart. Og i den tilstanden den fører til ser vi altså at den er en redusér/resusér-konflikt, der det ikke hjelper å se på neste input. Om det er en x vet man jo like lite (og er det noe annet er det feil). Altså ikke LR(1). Man kan også forsøke å argumentere direkte fra grammatikken. Om setningen starter med en e, så ser vi at neste input-symbolet må være en x. Om det etter det kommer en y, vil første e en skulle reduseres til en B, om det kommer $ skal den reduseres til en D. Men siden vi i LR(1) bare får lov å se ett symbol framover (altså på x en) er det ikke mulig å skille mellom disse. Altså, ikke LR(1). Merk at hintet gir en klar indikasjon på at grammatikken ikke er LR(1). For å vise at den er det måtte man nemlig ha sett på alle tilstandene. Oppgave 2 (20%) 2.a Noen har fått den idé å lage et språk hvor klasser kan ha noe tilsvarende by-value-result - parametere. Klasser har ingen konstruktører, og by-value-result parametere spesifiseres som en del av en klassedefinisjon (val-res int v). Parametrene kan brukes innen klassen som om de var vanlige variable. De aktuelle parametrene må være variable av riktig type, og ved generering av et objekt av klassen overføres adressene til disse variablene. Til forskjell fra callby-result for funksjoner blir verdiene ikke returnert når et objekt er generert. For å få verdiene returnert må man kalle en predefinert metode return, som alle klasser har og som man derfor ikke trenger å erklære. Man kan således returnere verdier flere ganger, ved gjentatte kall på return, men vi skal dog ikke bruke dette i det følgende. Det følgende er et program i dette språket. 3

4 { class A (val-res int v) { void m(){v = v + 1; ; A ra; B rb; C rc; class B { int x = 1; void f() { ra = new A(x); ra.m(); ; class C { int z = 1; void f() { int z = 3; ra = new A(z); ra.m(); ; void main() { rb = new B(); rb.f(); rb.return(); // 1 rc = new C(); rc.f(); rc.return(); // 2 Tegn stakkene som de ser ut når aktiveringsblokken for m er på toppen av stakken for både //1 og //2, dvs på det tidspunkt hvor den ene setning i m er utført men før exit av m. Antyd hvordan du ville implementere by-value-result parametre for klasser ved også å tegne inn objektene av klassene A, B og C. Språket er statisk skopet. Besvar spørsmålet ved å gjøre figurene på side 6 ferdige, dvs skissér hvordan parameteren v representeres, og fyll inn manglende verdier og linker i figurene. Svar 2.a //1 4

5 //2 2.b Designeren av språket i 2.a vil gjerne bruke stakk-organisering av metodekall. I hvilket av tilfellene //1 og //2 går dette galt, og hvorfor? Som en del av svaret kan du eventuelt tegne stakkene som de ser ut når return er på toppen av stakken. Svar 2.b I //2 overføres addressen til variablen z, som er en del av aktiveringsblokken for kallet på rc.f og som derfor ikke er der når metoden rc.return kalles. //2 5

6 Oppgave 3 (30%) 3.a Det følgende er en del av grammatikken for et språk med klasser. class class id signatures class class id signatures bodies class class id class-heading signatures class class id class-heading signatures bodies class-heading extends implements extends implements ε extends extends id implements implements id Ord i kursiv er ikke-terminaler, ord og tegn i fet skrift er terminal-symboler. id representerer et navn. Språket er spesielt på den måten at selv om det bare finnes klasser, så defineres interfacer som klasser, der det ikke er implementasjoner av noen av metodene. Av denne grunn er definisjonen av en metode delt opp i en signatur (navn, type, og parametere) og i en body. Tilsvarende er en klasse definert ved et sett med signaturer og eventuelt ved et sett av bodies. En klasse som bare inneholder et sett av signaturer er altså en interface. En klasse med bodies må ha implementasjoner av alle metoder. I en klasse kan man i tillegg til metoder (ved signaturer eller ved signaturer samt bodies) også spesifisere (ved en class-heading) at klassen extender en annen klasse og/eller implementerer en annen klasse. Det er to regler i dette språket: 1. I en klasse kan det etter extends bare følge et klasse-navn, og etter implements bare følge et interface-navn 2. I en interface kan det etter extends bare følge et interface-navn, og det skal ikke være noen implemets-del Fyll ut de tomme felter (markert med *) i attributtgrammatikken på side 7 slik at attributtet ok for class er true hvis en klassedefinisjon er gjort ifølge disse regler, ellers false. Det skal ikke testes om en klasse faktisk har implementasjon av alle metoder i signatures. Du kan anta at det finnes en insert (id, kind) som legger inn navnet id med egenskapen kind i symboltabellen. Du kan også anta at at lookup-kind(id.name)leverer den kind, som er lagt inn ved hjelp av insert. 6

7 Svar 3.a Grammar Rule class class id class-heading signatures class class id class-heading signatures bodies class class id signatures class class id signatures bodies class-heading ε Semantic Rule insert(id, interface) class-heading.kind=interface class.ok = class-heading.ok insert(id, class) class-heading.kind=class class.ok = class-heading.ok insert(id, interface) class.ok = true insert(id, class) class.ok = true class-heading.ok = true class-heading extends class-heading.ok = if class-heading.kind = class then extends.kind = class else if class-heading.kind = interface then extends.kind = interface class-heading implements class-heading.ok = if class-heading.kind = class then implements.kind = interface else if class-heading.kind = interface then false class-heading extends implements extends extends id implements implements id class-heading.ok = if class-heading.kind = class then extends.kind = class and implements.kind = interface else if class-heading.kind = interface then false extends.kind = lookup(id.name) implements.kind = lookup(id.name) 3.b I denne del av oppgaven skal vi se på implementasjonen av interfacer i dette språket. Det finnes ikke virtuelle metoder, så extends mellom klasser betyr bare at man arver egenskaper i form av variable og metoder (dvs deres implementasjon), mens extends mellom interfacer betyr at man arver metodesignaturer. En interface som arver en metode m og selv definerer en metode m vil ha bare én metode m. Referanser kan bare types med interfacer. Den vanlige reglen gjelder: at en referanse typet med en interface I både kan referere objekter av klasser som implementerer I og som implementerer interfacer som extender I, og selvfølgelig objekter av subklasser av slike klasser. Det gjelder følgende regler: 7

8 1. En klasse som implementerer en interface må ha implementasjoner av alle metodene i interfacet, enten ved at implementasjonene er gitt i klassen selv eller arvet fra en superklasse. 2. For en gitt metode m definert i en interface I gjelder følgende for kall (ri.m()) via en referanse ri typet med I: Hvis ri refererer et objekt av en klasse K som implements I, da kalles den metoden m, som er implementert i K, og denne må ifølge første regel finnes. Hvis ri refererer et objekt av en subklasse subk av K som også har en egen implementasjon av m, da kalles subk::m (dvs m definert i subk) bare hvis subk implements en interface subi, som extends I og som selv har metoden m (altså ikke bare har arvet den), ellers kalles K::m. Her skal subklasse (og extends for interfacer) forståes slik at den kan være i ett eller flere steg, mens implements altså nødvendigvis bare er i ett steg. Det følgende eksempel definerer 3 interfacer og 3 klasser. Hver klasse implementerer de metoder, som de ifølge den implementerte interface skal implementere (antydet med {...). { class I1 { void m1(); void m2(); class I2 extends I1 { void m2(); void m3(); class I3 extends I2 { void m3() ; I1 ri1; I2 ri2; I3 ri3; class A implements I1{ void m1() {...; void m2() {...; class B implements I2 extends A { void m1() {...; void m2() {...; void m3() {...; class C implements I3 extends B { void m3() {...; Det foreslås å implementere interfacer på en liknende måte som virtuelle, nemlig med en interface method table (imt) for hver for hver klasse som implementerer et interface. Tabellen for en interface som extender en annen interface vil på liknende måte som for virtuelle ha innganger 8

9 for metodene definert i superinterfacen. I en tabell er det en inngang for hver metode som finnes i det interface, som klassen implementerer, inklusive de metoder, som stammer fra superinterfacer. Tabellene er ikke som for virtuelle indeksert med et tall, men med selve metodenavnet (inklusive eventuelle parameter-typer). I praksis ville dette bli gjort ved hashing, men dette ser vi bort fra her. Hvordan ser disse tabeller ut for eksemplet over? Fyll inn de tomme boksene i figuren på side 8, i samme stil som de som er ferdigfylt. Svar 3.b 3.c Hvordan ville disse tabeller se ut hvis det i eksemplet i 3.b ikke er extends mellom interfacerne (men mellom klassene), og/eller vil det være feil? 9

10 Svar 3.c 3.d Hvordan ville disse tabeller se ut hvis det i eksemplet i 3.b ikke er extends mellom klassene men mellom interfacene, og/eller vil det være feil? Svar 3.d Det går greit å lage tabellen for klassene A og B, men for C bør kompilatoren gi melding om at klassen C ikke har noe implementasjon av m1 og m2. 10

11 Oppgave 4 (20%) Gitt følgende sekvens av treadresse-instruksjoner (TA-instruksjoner): 1 a = input 2 b = input 3 t1 = a + b 4 t2 = a * 2 5 c = t1 + t2 6 if a < c goto 8 7 t2 = a + b 8 b = 25 9 c = b + c 10 d = a b 11 if t2 = 0 goto d = a + b 13 t1 = b c 14 c = d t1 15 if c < d goto 3 16 c = a + b 17 output c 18 output d 4.a Angi (som en sortert liste av tall) ved hvilke linje-numre det starter en ny basal blokk ( basic block ). 4.b Gi hver basal blokk nedover i programmet navn B1, B2, osv, og tegn opp flytgrafen (uten koden, men bare med navnet inni hver node). 11

12 Svar 4.a og 4.b: Svaret på 1.a er: 1, 3, 7, 8, 12, 16, 17, altså en slik inndeling: a = input B1 2 b = input t1 = a + b B2 4 t2 = a * 2 5 c = t1 + t2 6 if a < c goto t2 = a + b B b = 25 B4 9 c = b + c 10 d = a b 11 if t2 = 0 goto d = a + b B5 13 t1 = b c 14 c = d t1 15 if c < d goto c = a + b B output c B7 18 output d B1 B2 B3 B4 B5 B6 B7 4.c Den som produserer TA-kode påstår at den er slik at temporære variable alltid er døde på slutten av hver basal blokk, og ved starten av programmet, selv om de samme temporærvariable altså blir brukt i flere basale blokker, slik som over. Formuler en generell regel som skal brukes lokalt på alle basale blokker for å sjekke om det produsenten av TA-kode sier er riktig, for et gitt TA-program. Vi antar her at alle variable er døde når programmet over stopper (etter siste instruksjon). Svar 4.c: Reglen kan være: For alle temporærvariable som blir avlest (i boka: used ) i den basale blokken, så må de bli gitt en verdi (i boka: be defined ) før de blir avlest. Man kunne alternativt si: Ingen temporærvariable må ha noen neste bruk (i boka: next use ) ved starten av den basale blokken. 4.d Bruk reglen du fant under 4.c til å undersøke hvordan dette forholder seg i den TA-koden som er angitt over. De temporære variablene heter t1, t2. Svar 4.d Det er én blokk der denne reglen ikke følges, nemlig i B4. Der brukes t2 i linje 11 uten å ha fått verdi først. Slutt på oppgavesettet Lykke til! 12

13 Stein Krogdahl og Birger Møller-Pedersen 13

14 Vedlegg til besvarelse av Oppgave 2 Kandidat nr:... Dato:... 2a //1 //2 14

15 Vedlegg til besvarelse av Oppgave 3 Kandidat nr:... 3a Dato:... Grammar Rule class class id class-heading signatures Semantic Rule insert(id, interface) * class.ok = class-heading.ok class class id class-heading signatures bodies insert(id, class) * class.ok = class-heading.ok class class id signatures class class id signatures bodies class-heading ε insert(id, interface) class.ok = true insert(id, class) class.ok = true class-heading.ok = true class-heading extends class-heading.ok = * class-heading implements class-heading.ok = * class-heading extends implements class-heading.ok = * extends extends id * implements implements id * 15

16 Vedlegg til besvarelse av Oppgave 3 Kandidat nr:... 3b Dato:... 3c 16

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 5. juni 2007 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 6 sider (pluss vedlegg) Vedlegg

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 5. juni 2013 Tid for eksamen : 14.30-18.30 Oppgavesettet er på : Vedlegg :

Detaljer

Diverse eksamensgaver

Diverse eksamensgaver Diverse eksamensgaver Noen har fått den idé å lage et språk hvor klasser kan ha noe tilsvarende byvalue-result -parametere. Klasser har ingen konstruktører, og by-value-result parametere spesifiseres som

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 2. juni 2010 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 5 sider (pluss

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 4. juni 2008 Tid for eksamen : 14.30-17.30 Oppgavesettet er på : 7 sider Vedlegg

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Tirsdag 6. juni 2006 Tid for eksamen : 09.00-12.00 Oppgavesettet er på : 5 sider Vedlegg : Intet Tillatte

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Med svarforslag Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 5. juni 2013 Tid for eksamen : 14.30-18.30 Oppgavesettet er

Detaljer

MED SVARFORSLAG UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

MED SVARFORSLAG UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet MED SVARFORSLAG UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 2. juni 2010 Tid for eksamen : 14.30-17.30 Oppgavesettet er

Detaljer

MED SVARFORSLAG UNIVERSITETET I OSLO

MED SVARFORSLAG UNIVERSITETET I OSLO Eksamen i : MED SVARFORSLAG UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 6. juni 2012 Tid for eksamen : 14.30-18.30 Oppgavesettet er

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i : MED SVARFORSLAG UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 1. juni 2011 Tid for eksamen : 14.30-18.30 Oppgavesettet er

Detaljer

2012 2a. C rc; void main() { rc = new C (); rc.m2(); } } INF 3110/ INF /28/13 1

2012 2a. C rc; void main() { rc = new C (); rc.m2(); } } INF 3110/ INF /28/13 1 2012 2a Vi tenker oss i denne oppgaven at vi har et Java-lignende språk hvor metoder kan ha lokalt definerte metoder. Dessuten kan man deklarere variable og metoder også på ytterste programnivå. Dette

Detaljer

Anatomien til en kompilator - I

Anatomien til en kompilator - I Anatomien til en kompilator - I program Symboltabell tekst tokens syntaks-tre beriket syntaks-tre Finne struktur i programmet OK i henhold til grammatikk? Preprocessor Makroer Betinget kompilering Filer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3110/4110 Programmeringsspråk Eksamensdag: 3. desember 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8 sider. Vedlegg:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i : UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 3. juni 2014 Tid for eksamen : 14.30-18.30 Oppgavesettet er på : Vedlegg :

Detaljer

Anatomien til en kompilator - I

Anatomien til en kompilator - I Anatomien til en kompilator - I 5/22/2006 1 Framgangsmåte for automatisk å lage en scanner Beskriv de forskjellige token-klassene som regulære uttrykk Eller litt mer fleksibelt, som regulære definisjoner

Detaljer

Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014

Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) Se på detaljene i hvorfor

Detaljer

Runtimesystemer - II. Funksjoner som parametere. Virtuelle metoder

Runtimesystemer - II. Funksjoner som parametere. Virtuelle metoder Runtimesystemer - II Funksjoner som parametere Virtuelle metoder Parameteroverføring Call by value Call by reference Call by value-result Call by name 04/04/14 1 FUNKSJONER SOM PARAMETERE 04/04/14 2 Eksempel

Detaljer

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)

Detaljer

Oppgaver til INF 5110, kapittel 5

Oppgaver til INF 5110, kapittel 5 Oppgaver til INF 5110, kapittel 5 Fra boka: 5.3 Vi har sett litt på denne på en forelesning 5.11 Vi har tidligere sett på: -> ) a 5.18 Forsøk også sette alternativet -> til slutt Utvid grammatikken på

Detaljer

Oppgaver til INF 5110, kapittel 5, med svarforslag Gjennomgått torsdag 26. febr Dette er versjon fra 28/7

Oppgaver til INF 5110, kapittel 5, med svarforslag Gjennomgått torsdag 26. febr Dette er versjon fra 28/7 Oppgaver til INF 5110, kapittel 5, med svarforslag Gjennomgått torsdag 26. febr. 2008. Dette er versjon fra 28/7 OPPGAVER: Fra boka: 5.3, 5.4, 5.11, 5.12, 5.13. Oppgave 2 fra Eksamen 2006. Utvid grammatikken

Detaljer

Oppgaver til INF 5110, kapittel 5 Fullt svar på oppgave 5.4, og en del andre oppgaver med svar

Oppgaver til INF 5110, kapittel 5 Fullt svar på oppgave 5.4, og en del andre oppgaver med svar Oppgaver til INF 5110, kapittel 5 Fullt svar på oppgave 5.4, og en del andre oppgaver med svar Fra boka: 5.3, 5.4, 5.11, 5.12, 5.13. Oppgave 2 fra Eksamen 2006 (se undervisningsplanen 2008). Utvid grammatikken

Detaljer

Semantisk Analyse del I

Semantisk Analyse del I Semantisk Analyse del I Attributtgrammatikker Kapittel 6.1-6.2 26.02.2013 1 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel 6.1-6.2)

Detaljer

Kap. 5, Del 2: INF / (og 2/3 og 3/3)

Kap. 5, Del 2: INF / (og 2/3 og 3/3) Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 23/2-2010 (og 2/3 og 3/3) Løsningsforslag s til oppgaver til kap 4 ligger bakerst her Oblig 1 legges ut i løpet av uka Stein Krogdahl, Ifi,

Detaljer

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

INF / Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO INF5110 12/2-2013 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO Dagens temaer: Noen foiler igjen fra forrige gang SLR(1), LR(1)- og LALR(1)-grammatikker NB: Oppgaver til kap 4 og 5 er lagt ut på undervisningsplanen

Detaljer

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF /2-2011

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF /2-2011 Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 22/2-2011 Stein Krogdahl, Ifi, UiO Oppgaver til kap 4: På slutten av dagens foiler ligger noen oppgaver med svarforslag. Disse vil bli forholdsvis

Detaljer

Kap. 5, Del 3: INF5110, fra 1/3-2011

Kap. 5, Del 3: INF5110, fra 1/3-2011 Kap. 5, Del 3: LR(1)- og LALR(1)-grammatikker INF5110, fra 1/3-2011 Bakerst: Oppgaver til kap 5 (svar kommer til gjennomgåelsen) gåe Nytt 2/3: Nå også oppgave 2 fra eksamen 2006 Stein Krogdahl, Ifi, UiO

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 115 Eksamensdag : Lørdag 20 mai, 2000 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg : Intet. Tillatte

Detaljer

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din.

Om oppgaveteksten på noe punkt er uklar eller upresis, kan du gjøre egne presiseringer. Formulér i så fall disse tydelig i oppgavebesvarelsen din. UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 211 Programmeringsspråk Eksamensdag: 6. desember 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 9 sider. Vedlegg: Ingen

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 4. juni 2005 Tid for eksamen: 0900 1500 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: INF1010 Objektorientert

Detaljer

INF /2, 2015 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO

INF /2, 2015 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO INF5110 17/2, 2015 Kap. 5, Del 2 Stein Krogdahl, Ifi, UiO Mer om LR-parsering Hadde også igjen noen foiler fra 12/2 Oblig 1 er lagt ut. Det blir en intro til Oblig 1 ved Eyvind Axelsen torsdag 19/2 1 Flertydige

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF3110/4110 Programmeringsspråk Eksamensdag: 2. desember 2003 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 10. juni 2009 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på

Detaljer

Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgått torsdag 14. febr Disse foilene er justert 15/2, kl. 11

Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgått torsdag 14. febr Disse foilene er justert 15/2, kl. 11 Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgått torsdag 14. febr. 2008. Disse foilene er justert 15/2, kl. 11 Oppgave 1 (Mye repetisjon): Gitt gram.: exp exp op exp (exp) num op + - * /

Detaljer

Runtime-omgivelser Kap 7 - I

Runtime-omgivelser Kap 7 - I Runtime-omgivelser Kap 7 - I Generelt Språk som bare trenger statiske omgivelser Språk som trenger stakk-orienterte omgivelser Språk som trenger mer generelle omgivelser Vel så riktig å si at forskjellige

Detaljer

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009

Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009 Kap. 5, Del 2: SLR(1), LR(1)- og LALR(1)-grammatikker INF5110 V2009 Stein Krogdahl, Ifi, UiO Torsdag 26/2: Første time Kap. 5 (avslutning?) Andreas Svendsen kommer andre time, snakker om oblig 1 (spesielt

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 1. desember 2010 Tid for eksamen: 14.00 18.00

Detaljer

Kap. 5: Oppgaver m.m. (Noen lysark fra tidligere er gjentatt her) Stein Krogdahl, Ifi, UiO 8. Mars 2007

Kap. 5: Oppgaver m.m. (Noen lysark fra tidligere er gjentatt her) Stein Krogdahl, Ifi, UiO 8. Mars 2007 Kap. 5: Oppgaver m.m. (Noen lysark fra tidligere er gjentatt her) Stein Krogdahl, Ifi, UiO 8. Mars 2007 1 Typisk Yacc-produsert parseringstabell (merk påfyll av ekstra reduksjoner, som en plass-optimalisering

Detaljer

Runtimesystemer Kap 7 - I

Runtimesystemer Kap 7 - I Runtimesystemer Kap 7 - I Språk som bare trenger statisk allokering Språk som trenger stakk-orientert allokering Språk som trenger mer generell allokering Forskjellige slags begreper i et gitt språk krever

Detaljer

Kap 6.3: Symboltabellen Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 17. mars Dagens tema:

Kap 6.3: Symboltabellen Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 17. mars Dagens tema: Kap 6.3: Symboltabellen Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 17. mars 2015 Hvordan holde greie på: Dagens tema: Hvilke navn har en deklarasjon på «dette» sted i programmet? Hva

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen : 09.00

Detaljer

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015 Beskrivelse av programmeringsspråket Compila15 INF5110 - Kompilatorteknikk Våren 2015 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Compila15. Den

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 og IN 110 Algoritmer og datastrukturer Eksamensdag: 14. mai 1996 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.

Detaljer

INF-5110 Oppgaver kodegenerering etc. INF-5110, vår 2011

INF-5110 Oppgaver kodegenerering etc. INF-5110, vår 2011 INF-5110 Oppgaver kodegenerering etc. INF-5110, vår 2011 Oppgave 1: Løs oppgavene 8.1 og 8.2 i Louden Oppgave 2: Løs oppgave 8.14.a i Louden. I stedet for oppgave 8.14.b, finn en tredje møte å implemetere

Detaljer

Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgås tirsdag 21. febr. 2012

Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgås tirsdag 21. febr. 2012 Oppgaver til INF 5110, kapittel 4, med svarforslag Gjennomgås tirsdag 21. febr. 2012 Oppgave 1: Sjekk om grammatikken S ( S ) S ε er LL(1) Oppgave 2: Gitt gram.: exp exp + exp (exp) if exp then exp else

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO FASIT UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Kontinuasjonseksamen i : Eksamensdag : INF1000 Grunnkurs i objektorientert programmering Fredag 7. januar Tid for eksamen :

Detaljer

Kap. 5 del 2: LR(1)- og LALR(1)-grammatikker INF5110 V2005. Stein Krogdahl, Ifi, UiO

Kap. 5 del 2: LR(1)- og LALR(1)-grammatikker INF5110 V2005. Stein Krogdahl, Ifi, UiO Kap. 5 del 2: LR(1)- og LALR(1)-grammatikker INF5110 V2005 Stein Krogdahl, Ifi, UiO 1 Bottom up parsering (nedenfra-og-opp) S A B B A LR-parsering og grammatikker: t 1 t 2 t 3 t 7 t 4 t 5 t 6 - LR(0) Det

Detaljer

Hjemmeeksamen 2 i INF3110/4110

Hjemmeeksamen 2 i INF3110/4110 Hjemmeeksamen 2 i INF3110/4110 Innleveringsfrist: onsdag 19. november kl. 1400 Innlevering Besvarelsen av oppgave 2,3,4 og 5 skal leveres skriftlig på papir i IFI-ekspedisjonen. Merk denne med navn, kurskode,

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO BOKMÅL Eksamen i : UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF1020 Algoritmer og datastrukturer Eksamensdag : Fredag 15. desember 2006 Tid for eksamen : 15.30 18.30 Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1020 Algoritmer og datastrukturer Eksamensdag: 15. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 6 sider.

Detaljer

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen? OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 9. juni 2011 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

Eksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser

Eksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 14. mai 1998 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg:

Detaljer

Generiske mekanismer i statisk typede programmeringsspråk

Generiske mekanismer i statisk typede programmeringsspråk Generiske mekanismer i statisk typede programmeringsspråk Dette stoffet er Pensum, og det er bare beskrevet her Mye her er nok kjent stoff for mange INF5110 7. mai 2013 Stein Krogdahl 1 Hvordan kunne skrive

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Prøveeksamen 2010 Eksamensdag: 26. mai 2010 Tid for eksamen: 00.00 06.00 Oppgavesettet er på 7 sider. Vedlegg: ingen Tillatte

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

Kap 6.4: Typesjekking Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 19. og 23. mars Dagens tema: Typer og typesjekking

Kap 6.4: Typesjekking Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 19. og 23. mars Dagens tema: Typer og typesjekking Kap 6.4: Typesjekking Foiler ved Birger Møller-Pedersen Forelest av Stein Krogdahl 19. og 23. mars 2015 Dagens tema: Typer og typesjekking Hva er nå egentlig en «type» i et programmeringsspråk? Hvordan

Detaljer

Kap. 5, del 2 LR(1)- og LALR(1)-grammatikker INF5110 V2008

Kap. 5, del 2 LR(1)- og LALR(1)-grammatikker INF5110 V2008 Kap. 5, del 2 LR(1)- og LALR(1)-grammatikker INF5110 V2008 Stein Krogdahl, Ifi, UiO I dag 19/2: Time 1: Fortsette kap.5 Time 2: Hjelpelærer Fredrik Sørensen presenterer Oblig 1 Plan framovrer: Torsdag

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 13. juni 2006 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 5

Detaljer

INF1010 - Seminaroppgaver til uke 3

INF1010 - Seminaroppgaver til uke 3 INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 13. desember 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 7 sider. Vedlegg: INF2220 lgoritmer og datastrukturer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i INF3110/INF4110, 1. desember 2005 Side 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF3110/4110 - Programmeringsspråk Eksamensdag: 1. desember 2005 Tid for eksamen:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 211 Programmeringsspråk Eksamensdag: 4. desember 2002 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 10 sider. Vedlegg: Tillatte

Detaljer

Litt om Javas class-filer og byte-kode

Litt om Javas class-filer og byte-kode Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består

Detaljer

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF2220 Algoritmer og datastrukturer Eksamensdag: 16. desember 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF5110 Eksamensdag : Torsdag 9. juni 2005 Tid for eksamen : 09.00-12.00 Oppgavesettet er på : 5 sider Vedlegg : intet Tillatte

Detaljer

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:

Detaljer

Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/ Legger ut en oppgave til kap. 4 (se beskjed).

Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/ Legger ut en oppgave til kap. 4 (se beskjed). Kap.4, del 2: Top Down Parsering Kap. 5, del 1: Bottom Up Parsing INF5110, 7/2-2008 Legger ut en oppgave til kap. 4 (se beskjed). tein Krogdahl Ifi, UiO Merk: Av de foilene som ble delt ut på papir på

Detaljer

Fiktiv eksamensbesvarelse IN 211 høsten 2001

Fiktiv eksamensbesvarelse IN 211 høsten 2001 Fiktiv eksamensbesvarelse IN 211 høsten 2001 Kandidat 1 6. desember 2001 Oppgave 1: Kjøresystemer 1a: Statisk og dynamisk link egne aktiveringsstakken før kallet på P 1b: Parameteroverføring 1. Verdioverføring:

Detaljer

Bottom up parsering (nedenfra-og-opp) Kap. 5 del 1 Intro til parsering nedenfra-og-opp samt LR(0) og SLR(1) grammatikker INF5110 v2006

Bottom up parsering (nedenfra-og-opp) Kap. 5 del 1 Intro til parsering nedenfra-og-opp samt LR(0) og SLR(1) grammatikker INF5110 v2006 ottom up parsering (nedenfra-og-opp) Kap. 5 del 1 Intro til parsering nedenfra-og-opp samt LR(0) og LR(1) grammatikker INF5110 v2006 rne Maus, Ifi UiO t 1 t 2 t 3 t 7 t 4 t 5 t 6 LR-parsering og grammatikker

Detaljer

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I

Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 6 Bokmål Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert

Detaljer

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal

Oppgave 2. INF5110 oppgave 2 på eksamen v04 med teori. FirstMengder. Arne Maus Ifi. Eks. 4.9 Beregning av First-mengde. terminal Oppgave 2 INF5110 oppgave 2 på eksamen v04 med teori rne Maus Ifi FirstMengder Def { terminal First () = { a finnes avledning * a α } Dessuten: Om er utnullbar, så er ε First() Eks. 4.9 eregning av First-mengde

Detaljer

Datatyper og typesjekking

Datatyper og typesjekking Datatyper og typesjekking Om typer generelt Hva er typer? Statisk og dynamisk typing Hvordan beskrive typer syntaktisk? Hvordan lagre dem i kompilatoren? Gjennomgang av noen typer Grunntyper Type-konstruktører

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 12. desember 2008 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Torsdag 4. desember 2014 Tid for eksamen: 14.30 (4 timer)

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF2440 Praktisk parallell programmering Prøveeksamensdag : 26. mai 2014 Tidspunkter: 11.00 Utdeling av prøveeksamen 15:15

Detaljer

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java

Forklaring til programmet AbstraktKontoTest.java med tilhørende filer Konto.java, KredittKonto.java, SpareKonto.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 Forklaring til programmet AbstraktKontoTest.java med tilhørende

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Kandidatnummer: Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i : INF1000 Grunnkurs i objektorientert programmering Prøveeksamensdag : Onsdag 12. november 2014 Tid

Detaljer

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned

INF5110 V2012 Kapittel 4: Parsering ovenfra-ned INF5110 V2012 Kapittel 4: Parsering ovenfra-ned (top-down) Tirsdag 7. februar Stein Krogdahl, Ifi, UiO Oppgaver som gjennomgås i morgen, onsdag: -Spørsmålene på de to siste foilene fra onsdag 1/2 (Bl.a.

Detaljer

INF Notater. Veronika Heimsbakk 10. juni 2012

INF Notater. Veronika Heimsbakk 10. juni 2012 INF1010 - Notater Veronika Heimsbakk veronahe@student.matnat.uio.no 10. juni 2012 1 Tilgangsnivåer 2 CompareTo Modifier Class Package Subclass World public Y Y Y Y protected Y Y Y N no modifier Y Y N N

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Bokmål UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Fredag 4. desember 2015 Tid for eksamen: 14.30 (4 timer)

Detaljer

INF mai 2014 Stein Krogdahl, Ifi, UiO

INF mai 2014 Stein Krogdahl, Ifi, UiO INF5110 7. mai 2014 Stein Krogdahl, Ifi, UiO Dette er foiler om global data-analyse NB: Disse foilene er også pensum (men stoffet finnes bare her på disse foilene.) Global dataflyt-analyse, eksempler:

Detaljer

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007

Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007 Kodegenerering, del 2: Resten av Kap. 8 pluss tilleggsnotat (fra kap. 9 i ASU ) INF5110 V2007 Stein Krogdahl, Ifi UiO NB: Innfører noen begreper som først og fremst har mening om man skal gå videre med

Detaljer

København 20 Stockholm

København 20 Stockholm UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 26. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg:

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Prøveeksamen i: INF2440 Effektiv parallellprogrammering Prøveeksamensdag: 1. juni 2016 Tidspunkter: 09.00 16.00 Oppgavesettet er på: 4 sider

Detaljer

INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) 21/ Stein Krogdahl Ifi, UiO. Angående Oblig 1:

INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) 21/ Stein Krogdahl Ifi, UiO. Angående Oblig 1: INF5110 Kap. 5: Parsering nedenfra-og-opp (Bottom-up parsing) Del 1 21/2-2014 Stein Krogdahl Ifi, UiO ngående Oblig 1: Blir lagt ut tirsdag/onsdag neste uke Oblig-ansvarlig Henning Berg orienterer 28/2

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet LØSNINGSFORSLAG Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO Eksamen i : UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet med svar INF5110 - Kompilatorteknikk Eksamensdag : Onsdag 3. juni 2014 Tid for eksamen : 14.30-18.30 Oppgavesettet er på : Vedlegg

Detaljer

MED SVARFORSLAG UNIVERSITETET I OSLO

MED SVARFORSLAG UNIVERSITETET I OSLO Eksmen i : MED SVARFORSLAG UNIVERSITETET I OSLO Det mtemtisk-nturvitenskpelige fkultet INF5110 - Kompiltorteknikk Eksmensdg : Onsdg 6. juni 2012 Tid for eksmen : 14.30-18.30 Oppgvesettet er på : Vedlegg

Detaljer

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO

Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007. Stein Krogdahl, Ifi UiO Kodegenerering del 3: Tilleggsnotat fra AHU Samt litt om class-filer og byte-kode INF5110 V2007 Stein Krogdahl, Ifi UiO ASU, kap 9.5: Vi generer kode for én og én basal blokk Da er det lett å holde orden

Detaljer

Skal bindes opp til en deklarasjon av samme navn

Skal bindes opp til en deklarasjon av samme navn Symboltabellen I Programmeringsspråk har Deklarasjoner, som definerer navn Konstant-deklarasjon Type-deklarasjon Variabel-deklarasjon Prosedyre-deklarasjon Klasse-deklarasjon Bruksforekomster av navn,

Detaljer

2 Om statiske variable/konstanter og statiske metoder.

2 Om statiske variable/konstanter og statiske metoder. Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.

Detaljer