Garantie de satisfaction à 100% Disponible immédiatement après paiement En ligne et en PDF Tu n'es attaché à rien 4.2 TrustPilot
logo-home
Resume

Samenvatting hoofdstuk 1: Meta-circulaire Interpretatie

Note
-
Vendu
-
Pages
19
Publié le
27-07-2022
Écrit en
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

Montrer plus Lire moins










Oups ! Impossible de charger votre document. Réessayez ou contactez le support.

Infos sur le Document

Livre entier ?
Non
Quels chapitres sont résumés ?
Hoofdstuk 4.1
Publié le
27 juillet 2022
Nombre de pages
19
Écrit en
2019/2020
Type
Resume

Sujets

Aperçu du contenu

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

Faites connaissance avec le vendeur

Seller avatar
Les scores de réputation sont basés sur le nombre de documents qu'un vendeur a vendus contre paiement ainsi que sur les avis qu'il a reçu pour ces documents. Il y a trois niveaux: Bronze, Argent et Or. Plus la réputation est bonne, plus vous pouvez faire confiance sur la qualité du travail des vendeurs.
lennyS Vrije Universiteit Brussel
Voir profil
S'abonner Vous devez être connecté afin de suivre les étudiants ou les cours
Vendu
163
Membre depuis
5 année
Nombre de followers
62
Documents
34
Dernière vente
2 semaines de cela

4,5

6 revues

5
4
4
1
3
1
2
0
1
0

Pourquoi les étudiants choisissent Stuvia

Créé par d'autres étudiants, vérifié par les avis

Une qualité sur laquelle compter : rédigé par des étudiants qui ont réussi et évalué par d'autres qui ont utilisé ce document.

Le document ne convient pas ? Choisis un autre document

Aucun souci ! Tu peux sélectionner directement un autre document qui correspond mieux à ce que tu cherches.

Paye comme tu veux, apprends aussitôt

Aucun abonnement, aucun engagement. Paye selon tes habitudes par carte de crédit et télécharge ton document PDF instantanément.

Student with book image

“Acheté, téléchargé et réussi. C'est aussi simple que ça.”

Alisha Student

Foire aux questions