Semantisk Analyse del I
|
|
|
- Agnes Mathisen
- 9 år siden
- Visninger:
Transkript
1 Semantisk Analyse del I Attributtgrammatikker Kapittel
2 Statisk semantisk analyse kapittel 6: Innhold Generelt om statisk semantisk analyse Attributt-grammatikker (kapittel ) Symboltabell (kapittel 6.3) Datatyper og typesjekking (kapittel 6.4)
3 Generelt om semantisk analyse Formål: sjekke alle krav i språkdefinisjonen som kan sjekkes før utførelsen. ikke naturlig sjekkes under syntaktisk analyse. Typisk: at bruk av navn er konsistent med deres deklarasjon. at typen av (sub)-uttrykk stemmer med operasjonene. Men: Ikke alt kan sjekkes før utførelsen. Stor forskjell på språk med og uten typer på variable og parametre
4 En drøm Beskrivelse av språkets statiske semantikk Sem-yacc Men: Mangler standard beskrivelsesspråk. Komplisert input til semantisk sjekker. Alltid mange ad-hoc regler. Semantisk sjekker for det aktuelle språk Derfor: Ser på generelle metoder. Må programmeres spesielt i hvert tilfelle
5 ATTRIBUTTGRAMMATIKKER
6 Attributter En attributt er en egenskap ved et språkbegrep. Eksempler: Datatypen til en variabel. Verdien til ett uttrykk. Lokasjonen til en variabel i minnet. Objekt-koden til en metode. Antall signifikante sifre i et tall. Statiske attributter: Kan beregnes før utførelsen Dynamiske attributter: Må beregnes under utførelsen For attributt-grammatikker er alle attributter statiske, og de er definert i tilknytning til grammatikken for språket
7 Attributt-grammatikker Attributter er variable knyttet til nodene i parseringstreet. Deres verdier er definert ved semantiske regler. Hver semantiske regel er knyttet til en produksjon i grammatikken. Eksempel:
8 Attributt-grammatikker Gitt en grammatikk på ren BNF-form For hvert grammatikk-symbol X (terminal eller ikke-terminal) skal det være gitt en mengde (navnede) attributter. Attributt-mengdene for de forskjellige symbolene kan generelt være helt forskjellige, men har ofte mye felles. Attributtene er ment å materialisere seg som variable knyttet til nodene i et parseringstre. Attributtet a til noden X skrives X.a. Attributtene er definert ved at det til hver regel er knyttet en likning på formen: X 0 -> X 1 X 2 X 3 X1 a 1 X2 X 0 a 1 a 2 X 3 a 1 a 1 a 2 arvet attributt X1 a 1 a X2 X 0 a 1 a 2 X 3 a 1 a 1 a 2 arvet attributt syntetisert attributt
9 Syntetiserte attributter NB: Hvert attributt må velges til enten å være syntetisert eller arvet. arvede Avhengighet i en S-attributt-grammatikk Trykkfeil: A.a kan også være avhengig av A.b dersom b er et arvet attributt. X syntetiserte X1 X2 A Mulig avhengighet for syntetisert attributt X3
10 Arvede attributter An attribute that is not synthesized is called an inherited attribute. Heller: et attributt sies å være arvet, når det defineres for et symbol på høyresiden av de produksjoner det opptrer i A -> X 1 X 2 X 3 X 2.a = A.b+X 1.c+X 3.d c AA AX1 AX3 a AX2 b d
11 Man kan gjerne tenke i abstrakte syntakstrær flertydige grammatikker Attributter exp: val number: val (fra scanneren) terminaler:
12 Attr.-grammatikk som bygger abstrakt syntakstre Attributter: tree (for exp, term og factor) lexval (for number) Merk: det abstrakte syntakstreet bygges ut fra at vi har det konkrete parseringstreet
13 Grammatikk med arvede attributter Attributter: dtype (for type, varlist, id)
14 Eksempel med arvede og syntetiserte attributter Attributter: val (for based-num, num og digit) base (for basechar og num)
15 Eksempel based-num forts
16 Konsistens og beregnbarhet Alle attributter er enten arvede eller syntetiserte (Men OK at basechar.base er syntetisert, mens num.base er arvet siden dette er to forskjellige attributter.) Alle attributter må være definerte. Gjøres ved at innen hver produksjon må: alle syntetiserte attributter i venstresiden være definert. alle arvede attributter i høyresiden være definert. det ikke være noen lokale avhengighets-løkker. Siden alle attributter er enten arvede eller syntetiserte, er hvert attributt i et parseringstre definert en og bare en gang
17 Avhengighetsgraf for based-num - eksempelet Mulig beregningsrekkefølge
18 Omskriving fra arvede til syntetiserte attributter Denne ga arvede attributter: Nytt forslag:
19 Med ny grammatikk: er egentlig arvede, men kan gjøres ferdige fra var-list og decl
20 Løkker i avhengighets-grafen Ikke i noe syntakstre må det være løkker i avhengighetsgrafen! Generelt er dette vanskelig å garantere. Man kan sjekke det etter at treet er bygget. Om ikke løkker: Finn topologisk sortering som gir brukbar rekkefølge. I praksis: Man overbeviser seg på forhånd om at det ikke kan bli løkker i noe syntakstre. Forhåndsbestemmer en rekkefølge for beregning
21 BEREGNINGSALGORITMER
22 Eksempel: type-grammatikk
23 Eksempel: beregning for base-grammatikk
24 Alternativ til EvalWithBase For basechar er den base, ellers er den val Mangler teknisk en parameter, men uten betydning Ny filosofi Returverdier er syntetiserte attributter Parametere er arvede attributter
25 For beregning under parsering venstre > høyre Trykkfeil: Krever også X 0.a 1,... X o.a k må alle være arvede attributter (ellers kan det oppstå løkker, og man kan få høyre->venstre avhengigheter
26 Beregning av L-attribut-gramm. under recursive descent parsering aa A sa A ->... B C D... B C D int A(aA){... if <A-> BCD skal velges> then { int ab,sb,ac,sc,ad,sd ab = fb(aa); sb = B(aB); ac = fc(aa,ab,sb); sc = C(aC); ad = fd(aa,ab,sb,ac,sc); sd = D(aD); return ga(aa,ab,sb,ac,sc,ad,sd); } else... Beregning av sa } ab sb ac sc ad sd
27 Neste forelesning: Fredag 1. mars OPPGAVER: 6.5, 6.7, DE NESTE SIDENE
28
29
30 Eksamen 2007 oppgave 2b decls decls ; decl decl decl var-decl function-decl var-decl type id = expression function-decl type id ( parameter? ) body type int bool void parameter type id type func id call id ( id? ) Ord i kursiv er ikke-terminaler, ord og tegn i fet skrift er terminal-symboler. id representerer et navn. En parameter er enten en verdi overført by value eller en funksjon uten parameter. Den enkle reglen i dette språket er at en funksjon med en by value -parameter bare kan kalles med en variabel som aktuell parameter (altså ikke med et generelt uttrykk), mens en funksjon med en funksjonsparameter bare kan kalles med en aktuell parameter som er en funksjon uten parametere. Typen til den aktuelle parameteren skal i begge tilfelle være samme type som den formelle. En funksjon uten parameter må kalles uten aktuell parameter
31 Fyll ut de tomme felter i følgende attributtgrammatikk slik at attributtet ok for call er true hvis kallet er gjort ifølge disse regler, ellers false. Du kan anta at det finnes semantiske regler som legger navn inn i symboltabellen. Du kan også anta at lookup(id.name).kind gir verdien var for en variabel og func for en funksjon, lookup(id.name).type er typen til det som id.name er navnet på (funksjon, variabel eller parameter) og at lookup(id.name).has_parameter gir verdien yes eller no for en funksjon (med navnet id.name) avhengig av om funksjonen har en parameter eller ikke. Det er ikke behov for å sjekke om funksjonsnavnet (id) i en call-setning faktisk er deklarert (du kan altså anta at det allerede er gjort ved andre mekanismer)
32
33 Eksamen 2010 oppgave 3a Det følgende er en del av grammatikken for et språk med funksjoner. func type func id signature stmt-list type int type bool stmt-list stmt-list stmt stmt-list stmt stmt assign-stmt stmt if-stmt stmt return-stmt return-stmt return exp exp id exp id + id exp true exp false Fyll ut de tomme felter (markert med *) i attributtgrammatikken for de relevante deler av grammatikken på neste side slik at attributtet ok for return-stmt er true hvis typen til returuttryket exp er det samme som typen til funksjonen, ellers false. Du kan anta at lookup-kind(id.name) leverer den type, som er lagt inn i symboltabellen ved deklarasjonen av variablen med navnet id.name
34
Statisk semantisk analyse - Kap. 6
Statisk semantisk analyse - Kap. 6 Generelt om statisk semantisk analyse Attributt-grammatikker Symboltabell Datatyper og typesjekking 3/15/11 1 Generelt om semantisk analyse Oppgave: Sjekke alle krav
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
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
INF5110, onsdag 19. februar, Dagens tema: Parsering ovenfra-ned (top-down)
INF5110, onsdag 19. februar, 2014 Dagens tema: Kapittel 4 Parsering ovenfra-ned (top-down) Vi har med alle foilene til kap. 4 her, også de som ble gjennomgått mot slutten av forelesning 7. februar Pensum
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
Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO
Kap. 4 del I Top Down Parsering INF5110 v2006 Stein Krogdahl Ifi, UiO 1 Innhold First og Follow-mengder Boka ser på én parseringsmetode først, uten å se på First/Follow-mengder. Vi tar teorien først To
Kap.4 del I Top Down Parsering INF5110 v2005. Arne Maus Ifi, UiO
Kap.4 del I Top Down Parsering INF5110 v2005 Arne Maus Ifi, UiO Innhold Motivering Boka gir først parsering uten First/Follow-mengder og så innfører dem. Vi tar teorien først First og Follow-mengder Fjerning
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
Spørsmål og svar rundt oblig 1 og verktøy
Spørsmål og svar rundt oblig 1 og verktøy Sven-Jørgen Karlsen, gruppelærer i INF5110 våren 2006 03/16/06 1 Obligen i ett nøtteskall Del 1: 1) Lage en parser og skanner for Diss, med
Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2)
Dagens tema Syntaks (kapittel 2.1 + Komp. 47, kap. 1 og 2) 1/19 Forelesning 6 1.10.2003 Litt om kompilering og interpretering En kompilator oversetter et program til et annet språk, for eksempel maskinspråk.
Litt om kompilering og interpretering. Dagens tema Syntaks (kapittel Komp. 47, kap. 1 og 2) Syntaks og semantikk
Litt om kompilering og interpretering Dagens tema Syntaks (kapittel 2. + Komp. 47, kap. og 2) En kompilator oversetter et program til et annet språk, for eksempel maskinspråk. Et program interpreteres
Hvor er vi nå - kap. 3 (+4,5)? Forenklet skisse av hva en parser gjør PARSER. Kontekstfrie grammatikker og syntaksanalyse (parsering)
Hvor er vi nå - kap. 3 (+4,5)? Kontekstfrie grammatikker og syntaksanalyse (parsering) INF5110 - kap.3 i Louden + hjelpenotat (se hjemmesida) Arne Maus Ifi, UiO v2006 program Pre - processor Makroer Betinget
INF5110. Oblig 2 presentasjon
INF5110 Oblig 2 presentasjon Informasjon Oppgaven Semantikksjekk Kodegenerering Bytecode-biblioteket Ant-targets Oppsummering Oversikt Informasjon Oblig 2 tilgjengelig på kurssiden Patch med testfiler
INF5110 Obligatorisk Oppgave 2 del 2. Andreas Svendsen SINTEF. 23. April Oversikt
INF5110 Obligatorisk Oppgave 2 del 2 Andreas Svendsen SINTEF 23. April 2009 Oversikt Tilbakeblikk på oppgaven Eksempel på sjekk av semantikk Eksempel på kodegenerering Nødvendige instruksjoner for IF-noden
Dagens Tema: Grammatikker Kap. 3 i K. C. Louden
INF 5110, 31. januar 2014 Stein Krogdahl Dagens Tema: Grammatikker Kap. 3 i K. C. Louden Min Foil-stil: Ofte mer tekst enn man helt kan få med seg på forelesningen, for at de skal være gode til repetisjon
Kontekstfrie grammatikker og syntaksanalyse (parsering)
Kontekstfrie grammatikker og syntaksanalyse (parsering) Kap. 3, 4 og 5 i Louden Kan også lese om dette i notat delvis brukt i INF 3/4110 Se kursets hjemmeside: Pensum/læringskrav 1. februar 2007 Stein
Obligatorisk Innlevering 2
Obligatorisk Innlevering 2 INF5110 - Kompilatorteknikk Våren 2017 Frist 07.05.2017 23:59 Dette er den andre av to oppgaver våren 2017. Den bygger videre på det som er gjort i den første innleveringen.
Obligatorisk Oppgave 1
Obligatorisk Oppgave 1 INF5110/INF9110 - Kompilatorteknikk Våren 2013 Frist fredag 15. mars Hensikten med Oppgaven Tanken bak denne oppgaven er at man skal få litt praktisk erfaring med følgende: Bruke
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
INF januar Forelesninger fremover:
Kontekstfrie grammatikker og syntaksanalyse (parsering) Kap. 3, 4 og 5 i Louden Kan også lese om dette i notat delvis brukt i INF 3/4110 Se kursets hjemmeside (foreløpig 2007): Pensum/læringskrav INF 5110
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,
Dagens tema: Sjekking
Dagens tema Dagens tema: Sjekking Navnebinding (obligatorisk oppgave 3) Biblioteket Logging Riktig bruk av navn (frivillig) Typesjekking (frivillig) Hele prosjektet Strukturen til kompilatoren vår f.pas
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
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
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
Dagens Tema: Grammatikker Kap. 3 i K. C. Louden
INF 5110, 1. februar 2012 Stein Krogdahl Dagens Tema: Grammatikker Kap. 3 i K. C. Louden Min Foil-stil: Ofte mer tekst enn man helt kan få med seg på forelesningen, for at de skal være gode til repetisjon
Syntaksanalyse. Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger. IN 211 Programmeringsspråk
Syntaksanalyse Skanner (repetisjon) Parsering top-down bottom-up LL(1)-parsering Recursive descent Forutsetninger Ark 1 av 26 Forelesning 15.10.2001 Syntaksanalyse En parser er et program som analyserer
Dagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?
Dagens tema Dagens tema Kildekode Hva er kompilering? Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Hvordan oppdage feil? Anta at vi lager dette lille
Kompilering Statiske Syntaksanalyse Feilsjekking Eksempel Oppsummering
Dagens tema Hva er kompilering? Hvordan foreta syntaksanalyse av et program? Hvordan programmere dette i Java? Statiske metoder og variabler Hvordan oppdage feil? Kildekode Hva er kompilering? Anta at
Hjemmeeksamen 1 i INF3110/4110
Hjemmeeksamen i INF30/40 Innleveringsfrist: fredag 24. oktober kl. 500 Innlevering Hele besvarelsen skal leveres skriftlig på papir i IFI-ekspedisjonen innen fredag 24. oktober kl. 500. Merk besvarelsen
Obligatorisk Oppgave 1
Obligatorisk Oppgave 1 INF5110 - Kompilatorteknikk Våren 2016 Frist: 20. mars 23:59 Hensikten med Oppgaven Tanken bak denne oppgaven er at man skal få litt praktisk erfaring med følgende: Bruke skannings-
Obligatorisk oppgave 1 INF Kompilatorteknikk Våren 2012 Frist mandag 19. mars
Obligatorisk oppgave 1 INF5110 - Kompilatorteknikk Våren 2012 Frist mandag 19. mars 1. Hensikten med oppgaven Tanken bak denne oppgaven er at man skal få litt praktisk erfaring med følgende: Bruke skannings-
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
Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012
Beskrivelse av programmeringsspråket Simpila INF5110 - Kompilatorteknikk Våren 2012 Her beskrives syntaksen og den statiske semantikken (hva som skal sjekkes av kompilatoren) til språket Simpila. Den dynamiske
Viktig. Rettet i koden. Oppgaven. Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon. Fredrik Sørensen OMS-gruppen, IfI
Viktig Obligatorisk oppgave 2 - Kort om oppgaven og litt informasjon Fredrik Sørensen OMS-gruppen, IfI Ny patch (patch_oblig2.zip) legges ut på kurssiden i dag. Oblig 1 vil bli rettet denne uken Sjekk
INF5110, tirsdag 5. februar, Dagens temaer: - Oppgaver til kap. 3 Svar ligger på slutten av foilene, men forsøk deg først selv!!
INF5110, tirsdag 5. februar, 2013 Dagens temaer: - Oppgaver til kap. 3 Svar ligger på slutten av foilene, men forsøk deg først selv!! - Resten av kap. 4 Parsering ovenfra-ned (top-down) (Vi har med alle
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,
Oversikt. Praktisk. Litt om meg. Obligatorisk oppgave 1 - Kort om oppgaven og verktøyene. Fredrik Sørensen OMS-gruppen, IfI.
Oversikt Obligatorisk oppgave 1 - Kort om oppgaven og verktøyene Fredrik Sørensen OMS-gruppen, IfI Litt om meg Praktisk Oppgaven Verktøyene Ant JFlex CUP Utfordringer Torsdag Litt om meg Fredrik Sørensen
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
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
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
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:
Syntax/semantics - I INF 3110/ /29/2005 1
Syntax/semantics - I Program program execution Compiling/interpretation Syntax Classes of langauges Regular langauges Context-free langauges Scanning/Parsing Meta models INF 3/4-25 8/29/25 Program
Oblig 2 - Simpila. INF Kompilatorteknikk. Våren Typesjekking, sjekking av bruk av navn og blokkstrtuktur i språk.
Oblig 2 - Simpila INF5110 - Kompilatorteknikk Våren 2012 Dette er den andre av to oppgaver våren 2012. Den bygger videre på det som er gjort i oblig 1. 1 Hensikten med oppgaven Hensikten er å få enda mer
Syntax/semantics INF 3110/ /8/2004 1
Syntax/semantics Program program execution Paradigms Compiling/interpretation Syntax Classes of langauges Regular langauges Context-free langauges Scanning/Parsing Meta models INF 3/4-24 9/8/24 Program
Variable Man kan bruke variable i ML. ML (kap 5 og 6) Nye datatyper INF3110/4110 INF3110/4110 INF3110/4110 INF3110/4110. Variable i ML.
ML (kap 5 og 6) Variable i ML Nye datatyper Currying Avanserte listeoperatorer Typeanalyse Variable Man kan bruke variable i ML - val = ref 1; val = ref 1 : int ref - := 3*(!)+5; val it = () : unit -!;
Pensumoversikt - kodegenerering. Kap. 8 del 1 kodegenerering INF5110 v2006. Hvordan er instruksjonene i en virkelig CPU? Arne Maus, Ifi UiO
Pensumoversikt - kodegenerering Kap. 8 del 1 kodegenerering INF5110 v2006 Arne Maus, Ifi UiO 8.1 Bruk av mellomkode 8.2 Basale teknikker for kodegenerering 8.3 Kode for referanser til datastrukturer (ikke
Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk
Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) Funksjonelle språk (Ghezzi&Jazayeri kap.7 frem til 7.4) Neste uke: ML Ark 1 av 16 Forelesning 16.10.2000 Parameteroverføring
Syntaksanalyse. Dagens tema: Språkdiagrammene Jernbanediagrammene er et ypperlig utgangspunkt for å analysere et program: INF2100 INF2100 INF2100
Syntaksanalyse På skolen hadde vi grammatikkanalyse: Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Fanger krabber så lenge de orker Syntaksanalyse er på
Løsningsforslag til hjemmeeksamen 2 i INF3110/4110
til hjemmeeksamen 2 i INF3110/4110 Roger Antonsen November 2003 Oppgave 1 Siden oppgaven går ut på å utvide programmet slik at det også genereres kode for prosedyrer, må flere funsjoner endres og legges
MAT1030 Plenumsregning 1
MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte
Kontekstfrie grammatikker og syntaksanalyse (parsering)
Kontekstfrie grammatikker og syntaksanalyse (parsering) INF5110 - kap.3 i Louden + hjelpenotat (se hjemmesida) Arne Maus Ifi, UiO v2005 Hvor er vi nå - kap. 3 (+4,5)? program Symboltabell tekst tokens
MAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk
Dagens tema: INF2100. Syntaksanalyse. Hva annet gjør en kompilator? Sjekking av navnebruk. Testutskrifter
Dagens tema: Syntaksanalyse Hva annet gjør en kompilator? Sjekking av navnebruk Testutskrifter Dag Langmyhr,Ifi,UiO: Forelesning 4. oktober 2005 Ark 1 av 20 Syntaksanalyse På skolen hadde vi grammatikkanalyse:
