• ¿Documento equivocado? Cámbialo gratis
  • Escrito por estudiantes que aprobaron
  • Inmediatamente disponible después del pago
  • Leer en línea o como PDF
Vender
¿Dónde estudias?
Tu idioma
Document preview thumbnail
Vista previa 3 fuera de 26 páginas
Resumen

Samenvatting hoofdstuk 4: Query Evaluator

Document preview thumbnail
Vista previa 3 fuera de 26 páginas

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 EINDRESULTAAT: 16/20

Vista previa del contenido

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

Libro relacionado
 image
Harold Abelson, Gerald Jay Sussman Structure & Interpretation Computer
Editorial: Desconocido ISBN: 9780262510875 Edición: Desconocido

Información del documento

Estudio
¿Un libro?
No
¿Qué capítulos están resumidos?
Hoofdstuk 4.4
Subido en
27 de julio de 2022
Número de páginas
26
Escrito en
2019/2020
Tipo
Resumen
$4.56

¿Documento equivocado? Cámbialo gratis Dentro de los 14 días posteriores a la compra y antes de descargarlo, puedes elegir otro documento. Puedes gastar el importe de nuevo.
Escrito por estudiantes que aprobaron
Inmediatamente disponible después del pago
Leer en línea o como PDF

Seller avatar
Los indicadores de reputación están sujetos a la cantidad de artículos vendidos por una tarifa y las reseñas que ha recibido por esos documentos. Hay tres niveles: Bronce, Plata y Oro. Cuanto mayor reputación, más podrás confiar en la calidad del trabajo del vendedor.
lennyS
4.5
(6)
Vendido
167
Seguidores
62
Artículos
34
Última venta
2 meses hace




Por qué los estudiantes eligen Stuvia

Creado por compañeros estudiantes, verificado por reseñas

Calidad en la que puedes confiar: escrito por estudiantes que aprobaron y evaluado por otros que han usado estos resúmenes.

¿No estás satisfecho? Elige otro documento

¡No te preocupes! Puedes elegir directamente otro documento que se ajuste mejor a lo que buscas.

Paga como quieras, empieza a estudiar al instante

Sin suscripción, sin compromisos. Paga como estés acostumbrado con tarjeta de crédito y descarga tu documento PDF inmediatamente.

Student with book image

“Comprado, descargado y aprobado. Así de fácil puede ser.”

Alisha Student

Preguntas frecuentes