Kompilatorteknik. Görel Hedin Datavetenskap Lunds Tekniska Högskola. Temaföreläsning, Datorer i system, 2009
|
|
- Henrik Isaksson
- för 5 år sedan
- Visningar:
Transkript
1 Kompilatorteknik Görel Hedin Datavetenskap Lunds Tekniska Högskola Temaföreläsning, Datorer i system, 2009
2 Kompilatorteknik källkod kompilator maskinkod Teknik för att bygga verktyg för formella språk. Till exempel kompilatorer.
3 Exempel på formella språk Java C C++ Python allmänna programmeringsspråk Prolog Haskell HTML XML VHDL Modelica Grammar rules specifikationsspråk för specifika domäner Makefiles allmänna databeskrivningsspråk företagsspecifika språk SGML
4 Exempel på verktyg för språk källkod kompilator maskinkod visualisering smart editor programanalys debugger testverktyg optimerare interpretator exekveringssystem garbage collector programtransformation
5 Programrepresenta?oner while (a12>=0) { } text scanning while ( a12 >= tokens parsing While Ge Stmt a12 0 syntaxträd Ge a12 0 While Stmt programmodell kodgenerering L1: LD a12 R1 LD 0 R2 BLT L2 BR L1 L2: mellankod optimering maskinkod
6 Scanning while WHILE while (a12>=0) { } scanning ( a12 >= tokens LPAREN ID GE Tillståndsmaskiner w h i l e WHILE A-Z, a-z A-Z, a-z, 0-9 ID
7 Scanner- generering WHILE = [ w ] [ h ] [ i ] [ l ] [ e ] LPAREN = [ ( ] ID = [ A-Z, a-z ] [ A-Z, a-z, 0-9 ]* scannerspecifikation (reguljära uttryck) scannergenerator while (a12>=0) { } program scanner while ( a12 >= tokens
8 Parsing while ( a12 >= tokens parsing While Ge Stmt a12 0 syntaxträd Stmt ::= While Assign While ::= WHILE LPAREN Expr RPAREN Stmt Expr ::= Eq Ge ID INT Ge ::= Expr GE Expr parserspecifikation (kontext-fri grammatik)
9 Parsergenerering Stmt ::= While Assign While ::= WHILE LPAREN Expr RPAREN Stmt Expr ::= Eq Ge ID INT Ge ::= Expr GE Expr parserspecifikation (kontext-fri grammatik) while ( a12 >= tokens parsergenerator parser While Ge Stmt a12 0 syntaxträd
10 Olika typer av parsers LL LR GLR LL Left-to-right Leftmost derivation parser LR Left-to-right Rightmost derivation parser GLR Generalized LR parser
11 Programanalys Beräkna egenskaper hos programelement Decl While Ge bool Stmt int a12 0 int Namnanalys: Vilken användning hör ihop med vilken deklaration? Typanalys: Vilken typ har varje uttryck? Är typerna korrekta? Kontrollflödesanalys: I vilken ordning kan satserna exekveras? Dataflödesanalys: Hur beror variabler och tilldelningar på varandra?
12 Generera hela kompilatorn (forskningsprojekt JastAdd) Scanner-spec scannergenerator scanner Parser-spec parsergenerator parser Namnanalys Kompilator Typanalys JastAdd analysator Kodgenerering
13 Kodgenerering Decl While bool Ge Stmt int int a12 0 L1: LD a12 R1 LD 0 R2 BLT L2 BR L1 L2:... Access av variabler: LOAD Tilldelning: STORE Räkna: ADD, SUB, Kontrollstrukturer: LABELS, BRANCHES Men hur skall minnet hanteras? Och objekt, klasser, metoder,?
14 Exekveringssystem Primärminnet PC Info om klasser Kod för metoder PC Program counter Sta?sk informa?on SP Dynamisk informa?on Stack av ak?veringsposter (metodinstanser) SP Stack Pointer. Första lediga platsen i stacken. HP Heap av objekt (klassinstanser) HP Heap pointer. Första lediga platsen i heapen. Garbage collec?on
15 Op?mering, exempel while () { a = 1; } a = 1; while () { } Loop invariant code motion a = (b*c)+(b*c)/2 t = b*c a = t+t/2 Common subexpression elimination a = min(x, y); Inlining if (x < y) t = x; else t = y; a = t;
16 SammanfaZning while (a12>=0) { } text scanning while ( a12 >= tokens parsing While Ge Stmt a12 0 syntaxträd Ge a12 0 While Stmt programmodell kodgenerering L1: LD a12 R1 LD 0 R2 BLT L2 BR L1 L2: mellankod optimering maskinkod
17 EDA180, Kompilatorteknik FortsäZningskurser Scanning, Parsing, Analys, Kodgenerering. Implementera eget språk, egen kompilator. EDA230, Optimerande kompilatorer Förstå möjligheter och begränsningar hos moderna optimerande kompilatorer. EDA145, Programspråksteori Förstå olika typer av formell semantik. Exekveringsmodeller för funktionella och logikbaserade språk. EDAF10, Objektorienterad modellering och diskreta strukturer (oblig) EDA040, Realtidsprogrammering (oblig) EDA095, Nätverksprogrammering EDA270, Constraintprogrammering EDA120, Funktionsprogrammering EDA171, Språkbehandling och datalingvistik
Kompilatorteknik. Görel Hedin Datavetenskap Lunds Tekniska Högskola. Temaföreläsning, Datorer i system, 2010
Kompilatorteknik Görel Hedin Datavetenskap Lunds Tekniska Högskola Temaföreläsning, Datorer i system, 2010 Vad är en kompilator? programkod while (a >= 0) { kompilator maskinkod 0024 6050 2530 0000 0000
Kompilatorteknik. Görel Hedin Datavetenskap Lunds Tekniska Högskola. Temaföreläsning, Datorer i system, 2011
Kompilatorteknik Görel Hedin Datavetenskap Lunds Tekniska Högskola Temaföreläsning, Datorer i system, 2011 Vad är en kompilator? programkod while (a >= 0) { kompilator maskinkod 0024 6050 2530 0000 0000
Kompilatorteknik. Görel Hedin Datavetenskap Lunds Tekniska Högskola. Temaföreläsning, Datorer i system, 2014
Kompilatorteknik Görel Hedin Datavetenskap Lunds Tekniska Högskola Temaföreläsning, Datorer i system, 2014 En typisk kompilator programkod while (a >= 0) { } kompilator maskinkod 0024 6050 2530 0000 0000
DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD1361 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning 4 Per Austrin 2015-11-20 Idag Rekursiv medåkning, fortsättning Olika klasser av språk och grammatiker Parsergeneratorer Sammanfattning
Grammatik. BNF-grammatik
Grammatik Objektorienterad modellering och diskreta strukturer / design Grammatik Reguljära uttryck klarar inte av att beskriva mängden av aritmetiska uttryck. Lennart Andersson Reviderad 2010 10 07 2010
Datorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Pipelining Tid SSA P Pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO Superscalar pipelining FI DI CO FO EI WO FI DI
DD1361 Programmeringsparadigm. Formella Språk & Syntaxanalys. Per Austrin
DD1361 Programmeringsparadigm Formella Språk & Syntaxanalys Föreläsning 3 Per Austrin 2015-11-13 Huvudkoncept hittils: Snabb repetition Formellt språk en mängd strängar Reguljära språk den klass av formella
Kompilatorer och interpretatorer
1 of 6 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (Thomas.Padron-McCarthy@oru.se) Tentamen i Kompilatorer och interpretatorer för Dataingenjörsprogrammet m fl lördag 7 november
Översikt. Varför lära sig detta? Motivering Syntax och semantik Imperativa språkets byggstenar och Python. PL-boken Kap 1 (repetition):
Översikt Motivering Syntax och semantik Imperativa språkets byggstenar och Python Datatyper Tilldelning och uttryck Kontrollstrukturer (på satsnivå) Subprogram Relaterade avsnitt: PL 3.1-3.2, 5.1-5.3,
Software Technology. Josef Svenningsson
Software Technology Josef Svenningsson Software Technology Software Technology Området Software Technology handlar i mångt och mycket om följande frågeställning: Hur designar man programmeringsspråk för
Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 Dagens föreläsning Modeller för programmeringsspråk Interpretator - att interpretera ett program - att beräkna ett program - Olika modeller programspråk Interpretator - kompilator program i S interpretator
Dagens föreläsning. Modeller för programmeringsspråk. - Olika modeller programspråk Interpretator - kompilator. - Syntax - semantik.
1 Dagens föreläsning Modeller för programmeringsspråk - Olika modeller programspråk Interpretator - kompilator - Olika typer av språk Statiska och dynamiska programspråk - Syntax - semantik. Grammatik
Introduktion till programmering. Programspråk och paradigmer
Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly
Alfabeten, strängar och språk. String
Alfabeten, strängar och språk Objektorienterad modellering och diskreta strukturer / design Språk och reguljära uttryck Ett alfabet är en ändlig icketom mängd vars element kallas symboler. Lennart Andersson
Program & programmering
Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,
Backcode. Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet
Žƒ ƒ Ž Ž ˆ ƒ ƒ ƒ Žƒ ƒ Ž ˆ Œ ŽŽ ƒ Backcode Jonathan Crusoe TDP019 Projekt: Datorspråk Linköpings universitet Innehållsförteckning 12-05-29 Inledning... 3 Användarhandledningen... 4 Klasser... 4 Metoder...
Föreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se
Introduktion till programmering och Python Grundkurs i programmering med Python
Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?
Imperativ programmering
Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk
kind spelling Scanning
sats terminal Kompilatorteknik 2015 källprogram! Exempel program let var v : integer; const t ~ 3 in v := v + t kind spelling Scanning LET let föreläsningsfilmer Scannerns eller den lexikala analysatorns
Föreläsning 1: Intro till kursen och programmering
Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga
Föreläsning 5 5DV086 - Programspråk
Föreläsning 5 5DV086 - Programspråk Petter Ericson (pettter@cs.umu.se) Umeå University 6 februari, 2015 Haskell-frågor? Haskell-tips do-syntax State-monaden Dagens plan Programspråksteori Varför? Vad?
Parsning. TDP007 Konstruktion av datorspråk Föreläsning 6. Peter Dalenius Institutionen för datavetenskap
Parsning TDP007 Konstruktion av datorspråk Föreläsning 6 Peter Dalenius Institutionen för datavetenskap 2017-02-14 2 Analys av källkod Lexikalisk analys Bildar tokensutifrån källkodens text. Syntaktisk
Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 Grundläggande datavetenskap, IT1 Perspektiv på datateknik, D1 Perspektiv på datavetenskap, C1 Breddföreläsning orientering om: formella språk grammatik parsing Att läsa mer: Brookshear, Computer Science
Tentamen i. TDDA 69 Data och programstrukturer
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDA 69 Data och programstrukturer Torsdag den 14 januari 2009, kl 14-18 Hjälpmedel: Inga. Poänggränser: Maximalt
Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID
Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID Vad gör vi här? Programmeringsteknik fördjupningskurs (EDAA01; 7,5hp) Valfri för F, N & BME (kan läsas från åk 2 eller i sommar!) Avancerad
F4: Assemblerprogrammering
F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering
Exempel på typer av datorspråk EXCEL
1 2 TDDB82 Perspektiv på Datateknik Breddgivande föreläsning Datorspråk Programmeringsparadigmer Programmeringsspråk Konstruktioner i programmeringsspråk Litteratur: Brookshear, Computer Science - an overview,
12. Relationer och funktioner
Objektorienterad modellering och diskreta strukturer 12. Relationer och funktioner Sven Gestegård Robertz Datavetenskap, LTH 2014 Laboration 4 Syntaxanalys Grammatik för (vår delmängd av) satslogiska uttryck
TENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15
TENTAMEN I PROGRAMSPRÅK -- DVG C01 140605 kl. 08:15-13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Inlämningsuppgift MiniPlotter
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap EDAA01 Programmeringsteknik fördjupningskurs Inlämningsuppgift MiniPlotter I den här uppgiften ska ett program som ritar grafer av matematiska funktioner
Föreläsning 4: for, while, do-while
TDA 545: Objektorienterad programmering Föreläsning 4: for, while, do-while Magnus Myréen Chalmers, läsperiod 1, 2014-2015 Evaluering Det är viktigt att ni kan se hur kod körs. ( se = simulera på papper,
PROMETHEUS. Ett typat, objektorienterat programmeringsspråk av Tim Andersson.
PROMETHEUS Ett typat, objektorienterat programmeringsspråk av Tim Andersson. Linköpings universitet TDP019 Projekt: Datorspråk Examinator: Anders Haraldsson, IDA Tim Andersson timan976@student.liu.se Utskriftsdatum:
Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach
Föreläsning 1: Intro till kursen och Kursens hemsida http://www.it.uu.se/edu/course/homepage/prog1/esvt10 Studentportalen http://www.studentportalen.uu.se Kursmaterial Kursbok Kursprogramvara Tips: Installera
12. Relationer och funktioner
Objektorienterad modellering och diskreta strukturer 12. Relationer och funktioner Sven Gestegård Robertz Institutionen för datavetenskap, LTH 2013 Laboration 4 Syntaxanalys Grammatik för (vår delmängd
11. Reguljära uttryck och grammatiker
Objektorienterad modellering och diskreta strukturer 11. Reguljära uttryck och grammatiker Sven Gestegård Robertz Datavetenskap, LTH 2014 Rekaputilation Vi har talat om satslogik och härledning predikatlogik
Assemblerprogrammering - fördjupning
Assemblerprogrammering - fördjupning Ur innehållet: Trampoliner tabellerade funktionsadresser Aktiveringspost med ARM Cortex M4 Mer om parameteröverföring Registerspill Kodgenerering - ISA "Kodoptimering"
Datorarkitekturer med operativsystem ERIK LARSSON
Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)
Konstruktion av datorspråk
Konstruktion av datorspråk Fö4: Domänspecifika språk och parsning Peter Dalenius petda@ida.liu.se Institutionen för datavetenskap Linköpings universitet 2009-02-12 Domänspecifika språk Ett domänspecifikt
Assemblerprogrammering för ARM del 2
Assemblerprogrammering för ARM del 2 Ur innehållet Programflöde Subrutiner, parametrar och returvärden Tillfälliga (lokala) variabler Läsanvisningar: Arbetsbok kap 2 Quick-guide, instruktionslistan Assemblerprogrammering
Föreläsning 7: Syntaxanalys
DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2007-10-30 Skribent(er): Erik Hammar, Jesper Särnesjö Föreläsare: Mikael Goldmann Denna föreläsning behandlade syntaxanalys.
TDP002 Imperativ programmering
TDP002 Imperativ programmering Introduktion till kursen och python Eric Elfving Institutionen för datavetenskap (IDA) Översikt Programmering En introduktion Python Köra och skriva program Python grunderna
11. Reguljära uttryck och grammatiker
Objektorienterad modellering och diskreta strukturer 11. Reguljära uttryck och grammatiker Sven Gestegård Robertz Datavetenskap, LTH 2015 Rekaputilation Vi har talat om satslogik och härledning predikatlogik
Kompilatorer och interpretatorer
1 of 8 Örebro universitet Institutionen för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Kompilatorer och interpretatorer för Dataingenjörsprogrammet m fl
Linköpings universitet Innovativ Programmering TDP019 Projekt: Datorspråk. flip/flop. ett helt flippat språk
Linköpings universitet Innovativ Programmering TDP019 Projekt: Datorspråk flip/flop ett helt flippat språk TDP019 - Projekt: Datorspråk Vårterminen 2012 Johan Wänglöf Henrik Forsberg johwa457@student.liu.se
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare
TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad
IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik
IT OCH PROGRAMMERING I SKOLAN Jan Erik Moström Peter Vinnervik VILKA ÄR VI OCH VAD KOMMER VI ATT PRATA OM? Jan Erik Moström - undervisar på institutionen för datavetenskap Peter Vinnervik - doktorand vid
Innehåll. EDAA35 Föreläsning 5. Kursinformation: tidigare laborationer som inte är godkända. Kursinformation: Presentation av lab 4
EDAA35 Föreläsning 5 Innehåll Kursinfo Exekveringsmiljö och lite om resten av datorn Varför tar ett program inte lika lång tid varje gång? Mätning av exekveringstid Lite om lab 5 Kursinformation: tidigare
Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson
1 2 TDDC66 Datorsystem och programmering TDDC67 Funktionell programmering Programmering i Lisp, examinator TDDC67 föreläsare i Lisp Peter Dalenius examinator TDDC66 kursassistent i Lisp + ett stort antal
Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik
Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod
Föreläsning 7: Syntaxanalys
DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2009-10-27 Skribent(er): Carl-Fredrik Sundlöf, Henrik Sandström, Jonas Lindmark Föreläsare: Fredrik Niemelä 1 Syntaxanalys
Föreläsning 2. Operativsystem och programmering
Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data
F5: Högnivåprogrammering
F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via
F5: Högnivåprogrammering
1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data
Datorsystemteknik DAVA14 Föreläsning 10
Datorsystemteknik DAVA14 Föreläsning 10 Från källkod till bitar Samspelet mellan program och hårdvara Med bilder från Mats Brorsson, Datorsystem: Program och maskinvara, studentlitteratur 1999 Assemblatorn
OMTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13: 15
OMTENTAMEN I PROGRAMSPRÅK -- DVG C01 130823 kl. 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd
Imperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Programmering och Programspråk. 7,5 högskolepoäng. Namn: (Ifylles av student) Personnummer: (Ifylles av student)
Programmering och Programspråk Provmoment: Ladokkod: Tentamen ges för: Tentamen NPL011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:
Klassdeklaration. Metoddeklaration. Parameteröverföring
Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar
Reguljära uttryck Grammatiker Rekursiv nedåkning Allmänna kontextfria grammatiker. Syntaxanalys. Douglas Wikström KTH Stockholm
Syntaxanalys Douglas Wikström KTH Stockholm popup-help@csc.kth.se Reguljära uttryck Reguljära uttryck förutsätter att en mängd bokstäver är givna, ett så kallat alfabet, som oftast betecknas med Σ. Uttryck
Digital- och datorteknik
Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer
Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)
Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades
TDP002 - Imperativ programmering
TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 1 Programmering - en översikt 2 Python Inbyggda typer Satser och uttryck 1 Programmering
Allmänna anvisningar: Skriv dina svar på svarsblanketten. Markera och ange alla svar tydligt och entydigt efter instruktionerna.
Programmering och Programspråk Provmoment: Ladokkod: Tentamen ges för: Tentamen NPL011 Systemarkitektprogrammet 7,5 högskolepoäng Anonym student-id: Tentamensdatum: 2015-11-03 Tid: 09.00 13.00 Hjälpmedel:
Tillämpad programmering
Tillämpad programmering C++ objekt Johan Montelius 1 struct struct Person { string name; int age; ; Person p; p.name = Joe ; p.age = 42; cout
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Lärare: pl@cdt.luth.se A 3113 Tomas Klockar klockar@sm.luth.se A 3019 Mats Folke folke@sm.luth.se A 3019 Labhandledare: Natasja Saburova Fredrik Jonsson Lars Persson
Tentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Tentamen EDAF10 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn att tas till lösningens kvalitet.
Ytterligare ett steg mot realisering av SystemJ
Ytterligare ett steg mot realisering av SystemJ Michael Hansson (d03mh@student.lth.se) 27 april 2009 1 Abstract (Sammanfattning) 2 2 Förord 3 Innehåll 1 Abstract (Sammanfattning) 2 2 Förord 3 3 Inledning
DD1361 Programmeringsparadigm Föreläsning 1: Intro
DD1361 Programmeringsparadigm Föreläsning 1: Intro Per Austrin KTH 2016-08-30 https://www.kth.se/social/course/dd1361/ Dagens föreläsning Översikt om: 1. Ämnet 2. Lärarna 3. Kursformalia (betyg etc) Dagens
Kapitel 2. Evolutionen av de viktigaste programmeringsspråken ISBN 0-321-49362-1
Kapitel 2 Evolutionen av de viktigaste programmeringsspråken ISBN 0-321-49362-1 Kapitel 2 teman Zuses Plankalkül Minimal Hardware Programming: Pseudokoder IBM 704 och Fortran Funktionell programmering:
Datorspråk Breddgivande föreläsning
1 2 TDDC10 Perspektiv på datateknik/datavetenskap TDDC79 Perspektiv på informationsteknologi TDP001 Handhavande av datormiljö (D, IT, C, IP) Datorspråk Breddgivande föreläsning språk med textuell representation
Programsystemkonstruktion med C++: Övning 2. Karl Palmskog september 2010
Programsystemkonstruktion med C++: Övning 2 Karl Palmskog palmskog@kth.se september 2010 Specalfunktioner i klasser Konstruktorer i konstruktorerna för en klass initieras klassens medlemmar initialvärden
Uppgift 1: a) u= a c + a bc+ ab d +b cd
Uppgift 1: a) u= a c a bc ab d b cd b) a b c d u 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 0 0 1
Tentamen den 18 mars svar Datorteknik, EIT070
Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30
lex källkod lex.l lexkompilator lex.yy.c C- kompilator lex.yy.c a.out sekvens av tokens a.out input specifikation av tokens mha reguljära uttryck
input läs tecken stoppa tillbaka ett tecken skicka ett token och dess attribut parser Eliminera white space och kommentarer Gruppera lästa tecken till tokens identifierare, nyckelord, numeriska konstanter,
Mjukstart i programmering
Mjukstart i programmering För intresserade och datorvana nybörjare TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2 Översikt 1. Vad är
Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp
Tentamen i Digitala system EITA5 5hp varav denna tentamen 4,5hp Institutionen för elektro och informationsteknik Campus Helsingborg, LTH 289 8. 3. (förlängd 4.) Uppgifterna i tentamen ger totalt 6 poäng.
F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
DD1361 Programmeringsparadigm Föreläsning 1: Intro
DD1361 Programmeringsparadigm Föreläsning 1: Intro Per Austrin KTH 2015-08-31 https://www.kth.se/social/course/dd1361/ Dagens föreläsning Översikt om: 1. Ämnet 2. Lärarna 3. Kursformalia (betyg etc) Dagens
TDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Programmering och Programspråk. 7,5 högskolepoäng. Namn: (Ifylles av student) Personnummer: (Ifylles av student)
Programmering och Programspråk Provmoment: Ladokkod: Tentamen ges för: Tentamen NPL011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:
OOP Objekt-orienterad programmering
OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första
Tentamen i Objektorienterad modellering och design Helsingborg
Lunds Tekniska Högskola Datavetenskap Roger Henriksson, Mathias Haage, Emelie Engström Tentamen EDAF25 2015-10-28 Tentamen i Objektorienterad modellering och design Helsingborg 1. a. Klassdiagram Lösningar
Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga P4118) Lärare: Anna Eckerdal, Anna.Eckerdal@it.uu.se
Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga P4118)
Tentamen Grundläggande programmering
Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:
Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe
Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK
Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo
Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION :15-13: 15
DVG C01 TENTAMEN I PROGRAMSPRÅK PROGRAMMING LANGUAGES EXAMINATION 120607 08:15-13: 15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition En ordbok: studentenshemspråk engelska Betygsgräns:
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Stack och subrutiner Programmeringskonventionen
Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp
Imperativ programmering. Föreläsning 3
Imperativ programmering 1DL126 3p Föreläsning 3 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering
Digital- och datorteknik
Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Exempel på typer av datorspråk EXCEL
1 2 TDDC10 Perspektiv på datateknik/datavetenskap TDDC79 Perspektiv på informationsteknologi TDP001 Handhavande av datormiljö (D, IT, C, IP) Breddgivande föreläsning Historik Datorspråk Programmeringsparadigmer