100% tevredenheidsgarantie Direct beschikbaar na betaling Zowel online als in PDF Je zit nergens aan vast
logo-home
Samenvatting hoofdstuk 4: Query Evaluator €3,48
In winkelwagen

Samenvatting

Samenvatting hoofdstuk 4: Query Evaluator

 8 keer bekeken  0 keer verkocht

Dit is de samenvatting van het vierde 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. Aan het einde van de samenvatting werden ook de herhalingsvragen opgelost EIN...

[Meer zien]

Voorbeeld 3 van de 26  pagina's

  • Nee
  • Hoofdstuk 4.4
  • 27 juli 2022
  • 26
  • 2019/2020
  • Samenvatting
book image

Titel boek:

Auteur(s):

  • Uitgave:
  • ISBN:
  • Druk:
Alle documenten voor dit vak (8)
avatar-seller
lennyS
Hoofdstuk 4: De query evaluator
1 Opvragingen ten opzichte van beweringen




Beweringen

• elke bewering is een lijst van constanten
o een lijst van constanten wordt ook
als een constante beschouwd!
• het eerste element van de lijst kwalificeert
meestal de bewering

2 Toevoegen van beweringen

3 Enkelvoudige opvragingen
• Elke enkelvoudige opvraging bestaat uit een
zogenaamd patroon: een lijst van constanten
en logische variabelen
• Een logische variabele is een symbool dat
met ? begint
• Elk resultaat voor een enkelvoudige
opvraging komt overeen

1

, met een frame van bindingen voor logische variabelen dat het patroon, na vervanging van
elke logische variabele in het patroon door de corresponderende waarde in het frame,
gelijkmaakt aan een bewering

3.1 Stream van frames als resultaat voor opvraging




4 Voorstelling van invoer voor de evaluator
(define (query-syntax-process exp)
(map-over-symbols expand-question-mark exp))

(define (map-over-symbols proc exp)
(cond ((pair? exp)
(cons (map-over-symbols proc (car exp))
(map-over-symbols proc (cdr exp))))
Als we met een pair te maken krijgen, consen we de map op de car aan
de map op de cdr.
((symbol? exp) (proc exp))
Symbool → procedure toepassen op symbool
(else exp)))

(define (expand-question-mark symbol)
(let ((chars (symbol->string symbol)))
(if (string=? (substring chars 0 1) "?")
(list '? Als het gekregen symbool met een ? begint maken we
(string->symbol een lijst met car = ? en cadr = rest
(substring chars 1 (string-length chars))))
symbol)))

2

, • Dure operaties op symbolen en strings. Maar anders moesten die door de evaluator
herhaaldelijk uitgevoerd worden om logische variabelen in een patroon te herkennen!
• Omvorming naar lijst met als car ? en als cdr de rest van het initiële symbool om later tagged-
list? te kunnen gebruiken.




(define (tagged-list? exp tag)
(if (pair? exp) (eq? (car exp) tag) false))
Een expressie is een tagged-list als het een paar is en de car
overeenkomt met de meegegeven tag
(define (var? exp) (tagged-list? exp '?))
Expressie = variable als het begint met ?
(define (constant-symbol? exp) (symbol? exp))
Expressie is een constante als ze een symbool is

(define (type exp)
(if (pair? exp)
(car exp)
Type van exp zit in de car van de exp
(error "Unknown expression TYPE" exp)))

(define (contents exp)
(if (pair? exp)
(cdr exp)
Contents van exp zitten in de cdr van de exp
(error "Unknown expression CONTENTS" exp)))

(define (assertion-to-be-added? exp)
(eq? (type exp) 'assert!))
Als het type van de exp ‘assert! is, is het een assertion die moet
worden toegevoegd.

(define (add-assertion-body exp)
(car (contents exp)))
De car van de contents van een assertion expressie bevat zijn body


3

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 €3,48. Je zit daarna nergens aan vast.

Is Stuvia te vertrouwen?

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

Afgelopen 30 dagen zijn er 56326 samenvattingen verkocht

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

Start met verkopen
€3,48
  • (0)
In winkelwagen
Toegevoegd