Skip to content

Commit 4931255

Browse files
committed
Add: sol 5.50
1 parent b9dda9d commit 4931255

File tree

4 files changed

+8
-13
lines changed

4 files changed

+8
-13
lines changed

test/code/ch5/ex5.50/ec-evaluator-50.sicp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,10 @@
158158
(list 'cdddr cdddr)
159159
(list 'apply-in-underlying-scheme apply-in-underlying-scheme)
160160
;; Additional primitive procedures installed in the MC-evaluator
161+
(list '+ +)
161162
(list '- -)
162163
(list '* *)
164+
(list '< <)
163165
(list 'equal? equal?)
164166
))
165167

test/code/ch5/ex5.50/ex5.50-cbf.sicp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,3 @@
1616

1717
(display "Starting matacirculator evaluator REPL ...")(newline)
1818
(start machine)
19-
;machine

test/code/ch5/ex5.50/machine-50.sicp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -130,25 +130,17 @@
130130
(set! write-trace write-null))
131131
(define (execute-proceed check-break)
132132
(let ((insts (get-contents pc)))
133-
(display-line "execute-proceed, insts: ")(display (length insts))
134-
(display-line (car insts))
135-
(display-line "============")
136-
(cond ( (begin (display-line ">>>> cond") (null? insts))
137-
(display-line "done: ")
133+
(cond ((null? insts)
138134
'done)
139-
( (begin (display-line "(<<<< symb 1)") (car insts) (display-line "(<<<< symb 2)") (display-line (symbol? (car insts))) (display-line "(<<<< symb 3)") (symbol? (car insts)))
140-
(display-line "symbol")
135+
((symbol? (car insts))
141136
(write-trace (car insts))
142137
(advance-pc pc)
143138
(execute))
144139

145140
(else
146-
(display-line "execute-proceed-else")
147141
(write-trace (instruction-text (car insts)))
148142
((instruction-execution-proc (car insts)))
149-
(display-line "execute-proceed-else-set")
150143
(set! inst-count (+ inst-count 1))
151-
(display-line "execute-proceed-else-execute")
152144
(execute)))))
153145
(define (proceed) (execute-proceed false))
154146
(define (execute) (execute-proceed true))

test/code/ch5/ex5.50/mc-evaluator-50-exp.sicp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,9 +280,11 @@
280280
(map proc (cdr items)))))
281281

282282
(define primitive-procedures
283-
(list (list '= =)
284-
(list '* *)
283+
(list (list '+ +)
285284
(list '- -)
285+
(list '* *)
286+
(list '= =)
287+
(list '< <)
286288
(list 'cons cons)
287289
(list 'list list)
288290
(list 'equal? equal?)

0 commit comments

Comments
 (0)