File tree Expand file tree Collapse file tree 4 files changed +8
-13
lines changed Expand file tree Collapse file tree 4 files changed +8
-13
lines changed Original file line number Diff line number Diff line change 158
158
(list 'cdddr cdddr)
159
159
(list 'apply-in-underlying-scheme apply-in-underlying-scheme)
160
160
;; Additional primitive procedures installed in the MC-evaluator
161
+ (list '+ +)
161
162
(list '- -)
162
163
(list '* *)
164
+ (list '< <)
163
165
(list 'equal? equal?)
164
166
))
165
167
Original file line number Diff line number Diff line change 16
16
17
17
(display "Starting matacirculator evaluator REPL ...")(newline)
18
18
(start machine)
19
- ;machine
Original file line number Diff line number Diff line change 130
130
(set! write-trace write-null))
131
131
(define (execute-proceed check-break)
132
132
(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)
138
134
'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))
141
136
(write-trace (car insts))
142
137
(advance-pc pc)
143
138
(execute))
144
139
145
140
(else
146
- (display-line "execute-proceed-else")
147
141
(write-trace (instruction-text (car insts)))
148
142
((instruction-execution-proc (car insts)))
149
- (display-line "execute-proceed-else-set")
150
143
(set! inst-count (+ inst-count 1))
151
- (display-line "execute-proceed-else-execute")
152
144
(execute)))))
153
145
(define (proceed) (execute-proceed false))
154
146
(define (execute) (execute-proceed true))
Original file line number Diff line number Diff line change 280
280
(map proc (cdr items)))))
281
281
282
282
(define primitive-procedures
283
- (list (list '= =)
284
- (list '* *)
283
+ (list (list '+ +)
285
284
(list '- -)
285
+ (list '* *)
286
+ (list '= =)
287
+ (list '< <)
286
288
(list 'cons cons)
287
289
(list 'list list)
288
290
(list 'equal? equal?)
You can’t perform that action at this time.
0 commit comments