Geschreven door studenten die geslaagd zijn Direct beschikbaar na je betaling Online lezen of als PDF Verkeerd document? Gratis ruilen 4,6 TrustPilot
logo-home
Samenvatting

Samenvatting hoofdstuk 1: Meta-circulaire Interpretatie

Beoordeling
-
Verkocht
-
Pagina's
19
Geüpload op
27-07-2022
Geschreven in
2019/2020

Dit is de samenvatting van het eerste hoofdstuk van het vak Interpretatie van Computerprogramma's I. In deze samenvatting werd zowel alle informatie uit de slides als bijkomende informatie uit eigen notities opgenomen. EINDRESULTAAT: 16/20

Meer zien Lees minder

Voorbeeld van de inhoud

Hoofdstuk 1: Meta-circulaire interpretatie
1 Interpreters
“An interpreter (or evaluator) for a programming language is a procedure that, when applied to an
expression of the language, performs the actions required to evaluate that expression.”

= een programma




Waarom bestuderen?

• interpreters dwingen taalontwerpers (en studenten) semantiek expliciet te maken
o precisie en volledigheid zijn vereist om een proces in een programmeertaal uit te
drukken
▪ volgorde van de evaluatie van argumenten voor een functie-applicatie
▪ omgevingsmodel zonder figuren
▪ iteratief proces voor recursieve procedure via staartrecursie-optimalisatie
• interpreters stellen taalontwerpers (en studenten) in staat alternatieve semantieken te
onderzoeken
o nieuwe soorten expressies ondersteunen
▪ if-let, while, throw …
o nieuwe syntax of semantiek voor expressies
▪ argumenten voor een functie-applicatie pas evalueren wanneer hun waarde
nodig is
▪ dynamisch bereik in plaats van lexicaal bereik
• interpreters worden vaak als uitbreidingsmedium binnen applicatie gebruikt

(+ 1 2)

+ = operator

1, 2 = operands

Volgorde van evaluatie operands is afhankelijk van de implementatie → interessant om effecten te
bestuderen.

1.1 Een meta-circulaire interpreter voor Scheme
Meta(in scheme)-cirulaire(aanvaard eigen definitie) interpreter(tolk)



1
Samenvatting Interpretatie van Computerprogramma’s I

,1.1.1 Interpretatie-fasen: read-eval-print




s-expressie = symbolische expressie

• evaluator is een lijstbewerkingsprogramma!
o we gebruiken domein-specifieke abstracties voor car en cdr

1.2 Implementatie van read-eval-print loop

(define input-prompt ";;; M-Eval input:")
(define output-prompt ";;; M-Eval value:")

(define (driver-loop)
(prompt-for-input input-prompt)
(let ((input (read)))
Verwacht invoer van de gebruiker.
(let ((output (eval input the-global-environment)))
Eval input the-global-env = kern van de code → verwerkt de invoer
van de gebruiker
(announce-output output-prompt)
(user-print output)))
Output (= verwerkte invoer) wordt terug gegeven
(driver-loop))

(define the-global-environment (setup-environment))
De globale omgeving wordt geinitialiseerd als een setup-env =
omgeving met primitieve uitdrukkingen die ondersteund worden.
(driver-loop)
Driver-loop wordt opgeroepen


2
Samenvatting Interpretatie van Computerprogramma’s I

, 1.2.1 Read-eval-print loop: print

(define (prompt-for-input string)
(newline) (newline) (display string) (newline))

(define (announce-output string)
(newline) (display string) (newline))

(define (user-print object)
(if (compound-procedure? object)
(display (list 'compound-procedure
(procedure-parameters object)
(procedure-body object)
'<env>))
(display object)))
Procedure equivalent aan display behalve voor expressies die naar
een procedure als waarde evalueren.

1.2.2 Read-eval-print loop: read

• vraagt de gebruiker om een string als invoer
• splitst de ingegeven string in een lineaire reeks van tokens
• vormt de reeks van tokens om naar een boom in de vorm van een geldige s-expressie




eval evalueert operator naar procedure,
evalueert operands naar lijst van waarden
apply past procedure toe op lijst van waarden,
roept eval om de procedure-body te evalueren
• Werken steeds samen.




3
Samenvatting Interpretatie van Computerprogramma’s I

Documentinformatie

Heel boek samengevat?
Nee
Wat is er van het boek samengevat?
Hoofdstuk 4.1
Geüpload op
27 juli 2022
Aantal pagina's
19
Geschreven in
2019/2020
Type
SAMENVATTING

Onderwerpen

€3,49
Krijg toegang tot het volledige document:

Verkeerd document? Gratis ruilen Binnen 14 dagen na aankoop en voor het downloaden kan je een ander document kiezen. Je kan het bedrag gewoon opnieuw besteden.
Geschreven door studenten die geslaagd zijn
Direct beschikbaar na je betaling
Online lezen of als PDF


Ook beschikbaar in voordeelbundel

Thumbnail
Voordeelbundel
Volledige Samenvatting Interpretatie van Computerprogramma's I
-
12 8 2022
€ 10,49 Meer info

Maak kennis met de verkoper

Seller avatar
De reputatie van een verkoper is gebaseerd op het aantal documenten dat iemand tegen betaling verkocht heeft en de beoordelingen die voor die items ontvangen zijn. Er zijn drie niveau’s te onderscheiden: brons, zilver en goud. Hoe beter de reputatie, hoe meer de kwaliteit van zijn of haar werk te vertrouwen is.
lennyS Vrije Universiteit Brussel
Bekijk profiel
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
166
Lid sinds
6 jaar
Aantal volgers
62
Documenten
34
Laatst verkocht
1 maand geleden

4,5

6 beoordelingen

5
4
4
1
3
1
2
0
1
0

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via Bancontact, iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo eenvoudig kan het zijn.”

Alisha Student

Bezig met je bronvermelding?

Maak nauwkeurige citaten in APA, MLA en Harvard met onze gratis bronnengenerator.

Bezig met je bronvermelding?

Veelgestelde vragen