liu.seSearch for publications in DiVA
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Partialevaluering: Specialisering av program  Utformning av en laboration
Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
2012 (Swedish)Independent thesis Basic level (degree of Bachelor), 10,5 credits / 16 HE creditsStudent thesis
Abstract [sv]

Partialevaluering av program är ett intressant ämne både för att optimera programmen men även för möjligheterna att kompilera program med en interpretator.

Denna rapport beskriver hur laborationerna i kursen Data och Programstrukturer på Linköpings Universitet, som är helt baserad på Abelson & Sussmans bok Structure and Interpretation of Computer Programs kan utökas så att den även går igenom partialevaluering. Som grund i laborationsunderlaget ligger en enkel partialevaluator för en delmängd av det funktionella språket Scheme som utvecklas för underlaget.

Rapporten består i huvudsak av tre delar, i början introduceras läsaren till partialevaluering. Vi förklarar hur man av ett generellt program och viss känd information vill skapa ett nytt specialiserat program. Två vanliga metoder att göra partialevaluering på beskrivs men i första hand fokuserar rapporten på den metod som implementerats, nämligen offline metoden. Specialisering av ett program med en offline partialevaluator börjar med en analys av programmet som sedan specialiseras. Vi går igenom varje steg i analysen och specialiseringen innan implementationen introduceras.

I den andra delen av rapporten tittar vi närmre på den implementation som kommer användas I laborationsuppgifterna. Genom att beskriva språket som specialiseras och titta på kod för de funktioner som är intressanta förklaras hur partialevaluatorn fungerar.

Tillslut presenteras fem förslag på uppgifter kring några ämnen och problem som passar I laborationskursen. Uppgifterna försöker följa en liknande ordning som tidigare uppgifter i kursen. Vi börjar med en uppgift där man testar partialevaluatorn och undersöker resultatet av specialisering. Sedan följer tre uppgifter som tittar på hur funktionaliteten i partialevaluatorn kan utökas. Den sista uppgiften fokuserar på hur man kan kompilera ett mönster till en mönstermatchare med en partialevaluator.

Place, publisher, year, edition, pages
2012. , 70 p.
Keyword [sv]
Partialevaluering, Laborationsunderlag
National Category
Computer Science
Identifiers
URN: urn:nbn:se:liu:diva-73907ISRN: LIU-IDA/LITH-EX-G--11/030--SEOAI: oai:DiVA.org:liu-73907DiVA: diva2:478603
Subject / course
Computer and information science at the Institute of Technology
Uppsok
Technology
Available from: 2012-01-16 Created: 2012-01-16 Last updated: 2012-01-16Bibliographically approved

Open Access in DiVA

fulltext(602 kB)122 downloads
File information
File name FULLTEXT01.pdfFile size 602 kBChecksum SHA-512
f2c17c907aa9d7636fc606bf3888c8d3ef37ef7aa6537c694a836d6399aacdff00f1ede50802507d04272264d44f4759be75433dc0522316028523caa006b408
Type fulltextMimetype application/pdf

By organisation
Department of Computer and Information ScienceThe Institute of Technology
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 122 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 155 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • oxford
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf