Programspråkssemantik Hur programspråk ska tolkas.

Slides:



Advertisements
Liknande presentationer
Interface.  Interface är en datatyp och har alltså egen syntax och en hel del egna regler för vad arv från interface innebär.  Interface är renodlad.
Advertisements

Avlusning Debugger (”avlusare”) Breakpoints Watch.
INTRODUKTION TILL PROGRAMMERING
Föräldramöte 12 september 2011
Närvaro!!.
• Förvaltningsplanerna är navet i ett informationssystem och kan beskrivas som ett samlingsinstrument för all relevant information knuten till enskilda.
Datavetenskapens roll. Datavetenskap •Vad är datavetenskapens roll i kognitionsvetenskapen?
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 11: Funktionella språk Funktioner och variabler i matematiken Funktionella.
Programmeringsteknik Föreläsning 6 Skolan för Datavetenskap och kommunikation.
Operatorer.
Föreläsning 1.
Objektorienterad tänkande
Polymorfism.
Växjö 21 april -04Språk & logik: Kontextfria grammatiker1 DAB760: Språk och logik 21/4: Kontextfria 10-12grammatiker Leif Grönqvist
Växjö 22 april -04Språk & logik: Parsning med kontextfria grammatiker1 DAB760:Språk och logik: 22 aprilParsning Leif Grönqvist
Grammatiska exempel Förklaringar av uttryck i BNF-form.
Prolog PROgramming LOGic (programmation en logique)
i olika programmeringsspråk
Programmering B PHP Lektion 2
© Steve Wretman & Helena Moreau
Programmering i C# 3. Klasser.
Vår tolkning av Förskolans Läroplanenfastställd december 2010
Förskolan Sandviks lärmiljöer utifrån läroplanen
Programmering B PHP Lektion 3
Om konsten att bedöma trovärdigheten hos det du ser, hör och läser
Språkteknologiska metoder Språkteknologisk forskning och utveckling (HT 2006)
Semantik Orden och deras betydelse (Sema = tecken på grekiska)
Mer om arv - Polymorfism Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling Fredric Ragnar
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 6: Semantik Statisk semantik Attributgrammatiker Dynamisk semantik Axiomatisk.
1. En infrastruktur för programutveckling
Lennart Edblom, Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 8: Underprogram Underprogram Räckvidd Parameteröverföring.
Semantik – introduktion
Metoder och slingor Metoder och dess typ Slingor med while och for-satser.
Datamodeller C21.2 Kursansvarig: Eva Lindh
Modulär programutveckling
För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- -Algoritm analys och sökning algoritmer- Kap 5 -Algoritmer och.
The Big 5 ANALYSFÖRMÅGA KOMMUNIKATIV FÖRMÅGA METAKOGNITIV FÖRMÅGA
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Objektorienterad programmering i Java
F. Drewes, Inst. f. datavetenskap1 Föreläsning 11: Funktionella språk Funktioner och variabler i matematiken Funktionella språk LISP, ML och.
Kursplaner vid KV Institutionen för Kulturvetenskaper.
Formell logik Kapitel 9 Robin Stenwall Lunds universitet.
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Logik med tillämpningar
Digitalteknik 7.5 hp distans: Realisering av logik med PLD och VHDL1.4.1 En kretsrealisering med VHDL består av fyra huvudmoment Specifikation Beskrivning.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 8: Underprogram Underprogram Räckvidd Parameteröverföring.
Anders Broberg, Programspråksteoridelen DVA Moment 2 1 Variabler Abstraktion av en minnescell En förvaringslåda som kan beskrivas med 6 attribut –Namn.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
Anders Broberg, Programspråksteoridelen DVA Moment 2 1 Epost: Hemsida: Tel: Rum: D438.
1 Mjukvaru-utveckling av interaktiva system God utveckling av interaktiva system kräver abstrakt funktionell beskrivning noggrann utvecklingsmetod Slutanvändare.
Föreläsning 13 Logik med tillämpningar Innehåll u Aritmetik i Prolog u Rekursiva och iterativa program u Typpredikat u Metalogiska predikat.
Program. Symboliska samband Symboliska beteenden Matematisk kausalitet (orsak – verkan) 2x = y, y = x^2, y = kx + l.
Mål Matematiska modeller Biologi/Kemi Datorer muntlig presentation
Lennart Edblom & Frank Drewes, Inst. f. datavetenskap 1 Föreläsning 2: Variabler och datatyper Variabler Bindning Typkontroll Några viktiga datatyper.
1 Semantik – introduktion Semantik = läran om mening Tvärvetenskapligt filosofi lingvistik psykologi AI Lingvistik motsägelser mångtydighet metaforer Filosofi.
Föreläsningsanteckningar Kortfattat om programmeringsmetodik Ola Ågren Hur det går till att göra ett program.
Anders Sjögren Operatorer. Anders Sjögren Operand(er)
Krav på vetenskaplig tolkning
Att räkna med bokstäver
 Barn har vardagserfarenheter av matematik, tal och räkning innan de kommer till skolan  Skolan ska ge eleverna formella kunskaper i matematik, ett.
 Viktig förberedelse för mer avancerad problemlösning  Verktyg för att underlätta beräkningar  Och jo, man har nytta av algebra, men ofta arbetar vi.
Lars Madej  Talmönster och talföljder  Funktioner.
Formell logik Kapitel 1 och 2
Språkanalys och språkfilosofi
Organisationskultur Det symboliska perspektivet Definitioner
Skillnad i tankesätt… Skillnad mellan strukturerat och objektorienterat… Strukturerat… Objektorienterat… Konto Saldo räknaRänta ( ) skrivRänta ( ) skattefritt.
Organisationskultur Det symboliska perspektivet Definitioner
Filosofisk logik Kapitel 15
ÄMNESHJUL MATEMATIK ÅK 3
Digitalteknik 3p - Sekvenskretsar
Presentationens avskrift:

Programspråkssemantik Hur programspråk ska tolkas

Programspråkssemantik Läran om språklig betydelse Tolkning av uttryck Hur datatyper och uttryck kan manipuleras och hur de ska hanteras

Statisk semantik Tillstånd vid tidpunkt för kompilering Beskriver de regler som är svåra för syntaxregler att beskriva Exempel: Variabeldeklaration innan referering Definierar ofta olika typer av objekt Hur ska dessa hanteras? Hur interagerar dessa?

Metoder för semantikbeskrivning Operationell semantik Axiomatisk semantik Denotationssemantik

Operationell semanik Översätt till lättförståeligt språk Olika abstraktionsnivåer Naturlig: Beskriver programmets slutresultat Strukturerad: Beskriver exakt mening med ett uttryck

Axiomatisk semantik Utvecklad för att bevisa korrekthet Grundad i predikatlogiken Logiska uttryck innan och efter alla uttryck som beskriver begränsningar Generellt: {P} S {Q} Exempel: {x > 0} sum = 2 * x + 1 {sum > 1}

Axiomatisk semantik Inferering: Generellt:S1, S2,...,Sn S Exempel: {x>3} x=x-3 {x>0}, (x>5)=>(x>3),(x>0)=>(x>0) {x>5} x=x-3 {x>0} Korrekthet: Räkna ut precondition utifrån postcondition från programmets slut

Denotationssemantik Matematiska objekt kallade denotationer Delarnas innebörd ger objektets innebörd Rekursiva funktioner Använder parse trees

Denotationssemantik Exempel: → ’0’ | ’1’ | ’0’ | ’1’ Mbin(’0’) = 0 Mbin(’1’) = 1 Mbin( ’0’) = 2 * Mbin( ) Mbin( ’1’) = 2 * Mbin( ) + 1

Skillnad mellan statisk och dynamisk semantik Statisk Givet ögonblick Vid kompilering Exempel Typkontroll

Skillnad mellan statisk och dynamisk semantik (2) Dynamisk Hur förändring sker Vid exekvering Exempel Division med noll Indexeringkontroll