100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
Samenvatting hoofdstuk 1: Meta-circulaire Interpretatie €2,99   In winkelwagen

Samenvatting

Samenvatting hoofdstuk 1: Meta-circulaire Interpretatie

1 beoordeling
 86 keer bekeken  22 keer verkocht

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

Voorbeeld 3 van de 19  pagina's

  • Nee
  • Hoofdstuk 4.1
  • 27 juli 2022
  • 19
  • 2019/2020
  • Samenvatting
book image

Titel boek:

Auteur(s):

  • Uitgave:
  • ISBN:
  • Druk:
Alle documenten voor dit vak (8)

1  beoordeling

review-writer-avatar

Door: baptistevandereecken49 • 5 maanden geleden

avatar-seller
lennyS
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

Voordelen van het kopen van samenvattingen bij Stuvia op een rij:

√  	Verzekerd van kwaliteit door reviews

√ Verzekerd van kwaliteit door reviews

Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!

Snel en makkelijk kopen

Snel en makkelijk kopen

Je betaalt supersnel en eenmalig met iDeal, Bancontact of creditcard voor de samenvatting. Zonder lidmaatschap.

Focus op de essentie

Focus op de essentie

Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!

Veelgestelde vragen

Wat krijg ik als ik dit document koop?

Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.

Tevredenheidsgarantie: hoe werkt dat?

Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.

Van wie koop ik deze samenvatting?

Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper lennyS. Stuvia faciliteert de betaling aan de verkoper.

Zit ik meteen vast aan een abonnement?

Nee, je koopt alleen deze samenvatting voor €2,99. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

4,6 sterren op Google & Trustpilot (+1000 reviews)

Afgelopen 30 dagen zijn er 75632 samenvattingen verkocht

Opgericht in 2010, al 14 jaar dé plek om samenvattingen te kopen

Start met verkopen
€2,99  22x  verkocht
  • (1)
  Kopen