mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-21 06:39:16 +02:00
2083 lines
75 KiB
C
2083 lines
75 KiB
C
// gcc test.c -L. -lcyclone -lm -I. -g -o test; ./test
|
|
/**
|
|
** This file was automatically generated by the Cyclone scheme compiler
|
|
**
|
|
** (c) 2014 Justin Ethier
|
|
** Version 0.0.1 (Pre-release)
|
|
**
|
|
**/
|
|
|
|
/*
|
|
"---------------- input program:"
|
|
*/
|
|
/*
|
|
((define (eval2 exp . env) exp)
|
|
(define (test)
|
|
(call/cc
|
|
(lambda (k)
|
|
(write (list 'result
|
|
(with-exception-handler
|
|
(lambda (obj)
|
|
(display "Error: ")
|
|
(cond ((pair? obj)
|
|
(for-each
|
|
(lambda (o) (display o) (display " "))
|
|
obj))
|
|
(else (display obj)))
|
|
(display "\n")
|
|
(k #t))
|
|
(lambda () (repl))))))))
|
|
(define (repl)
|
|
(display "cyclone> ")
|
|
(let ((c (eval2 'done)))
|
|
(cond ((not (eof-object? c)) (write c)) (else (exit 0)))))
|
|
(test))
|
|
*/
|
|
/*
|
|
"---------------- after macro expansion:"
|
|
*/
|
|
/*
|
|
((define *Cyc-version-banner*
|
|
"\n :@ \n @@@ \n @@@@: \n `@@@@@+ \n .@@@+@@@ Cyclone \n @@ @@ An experimental Scheme compiler\n ,@ https://github.com/justinethier/cyclone\n '@ \n .@ \n @@ #@ (c) 2014 Justin Ethier\n `@@@#@@@. Version 0.0.1 (Pre-release)\n #@@@@@ \n +@@@+ \n @@# \n `@. \n \n")
|
|
(define call-with-current-continuation call/cc)
|
|
(define Cyc-bin-op
|
|
(lambda (cmp x lst)
|
|
(if (null? lst)
|
|
#t
|
|
(if (cmp x (car lst)) (Cyc-bin-op cmp (car lst) (cdr lst)) #f))))
|
|
(define Cyc-bin-op-char
|
|
(lambda (cmp c cs)
|
|
(Cyc-bin-op
|
|
(lambda (x y) (cmp (char->integer x) (char->integer y)))
|
|
c
|
|
cs)))
|
|
(define char=? (lambda (c1 c2 . cs) (Cyc-bin-op-char = c1 (cons c2 cs))))
|
|
(define char<? (lambda (c1 c2 . cs) (Cyc-bin-op-char < c1 (cons c2 cs))))
|
|
(define char>? (lambda (c1 c2 . cs) (Cyc-bin-op-char > c1 (cons c2 cs))))
|
|
(define char<=? (lambda (c1 c2 . cs) (Cyc-bin-op-char <= c1 (cons c2 cs))))
|
|
(define char>=? (lambda (c1 c2 . cs) (Cyc-bin-op-char >= c1 (cons c2 cs))))
|
|
(define char-upcase
|
|
(lambda (c)
|
|
(if (char-lower-case? c)
|
|
(integer->char
|
|
(- (char->integer c) (- (char->integer #\a) (char->integer #\A))))
|
|
c)))
|
|
(define char-downcase
|
|
(lambda (c)
|
|
(if (char-upper-case? c)
|
|
(integer->char
|
|
(+ (char->integer c) (- (char->integer #\a) (char->integer #\A))))
|
|
c)))
|
|
(define char-alphabetic? (lambda (c) (if (char>=? c #\A) (char<=? c #\z) #f)))
|
|
(define char-upper-case? (lambda (c) (if (char>=? c #\A) (char<=? c #\Z) #f)))
|
|
(define char-lower-case? (lambda (c) (if (char>=? c #\a) (char<=? c #\z) #f)))
|
|
(define char-numeric?
|
|
(lambda (c) (member c '(#\0 #\1 #\2 #\3 #\4 #\5 #\6 #\7 #\8 #\9))))
|
|
(define char-whitespace?
|
|
(lambda (c) (member c '(#\tab #\space #\return #\newline))))
|
|
(define digit-value
|
|
(lambda (c)
|
|
(if (char-numeric? c) (- (char->integer c) (char->integer #\0)) #f)))
|
|
(define foldl
|
|
(lambda (func accum lst)
|
|
(if (null? lst) accum (foldl func (func (car lst) accum) (cdr lst)))))
|
|
(define foldr
|
|
(lambda (func end lst)
|
|
(if (null? lst) end (func (car lst) (foldr func end (cdr lst))))))
|
|
(define not (lambda (x) (if x #f #t)))
|
|
(define list?
|
|
(lambda (o)
|
|
(define _list?
|
|
(lambda (obj)
|
|
(if (null? obj) #t (if (pair? obj) (_list? (cdr obj)) #f))))
|
|
(if (Cyc-has-cycle? o) #t (_list? o))))
|
|
(define zero? (lambda (n) (= n 0)))
|
|
(define positive? (lambda (n) (> n 0)))
|
|
(define negative? (lambda (n) (< n 0)))
|
|
(define append
|
|
(lambda lst
|
|
(define append-2
|
|
(lambda (inlist alist)
|
|
(foldr (lambda (ap in) (cons ap in)) alist inlist)))
|
|
(if (null? lst)
|
|
lst
|
|
(if (null? (cdr lst))
|
|
(car lst)
|
|
(foldl (lambda (a b) (append-2 b a)) (car lst) (cdr lst))))))
|
|
(define list (lambda objs objs))
|
|
(define make-list
|
|
(lambda (k . fill)
|
|
((lambda (x make)
|
|
((lambda ()
|
|
(set! x (if (null? fill) #f (car fill)))
|
|
(set! make
|
|
(lambda (n obj) (if (zero? n) '() (cons obj (make (- n 1) obj)))))
|
|
(make k x))))
|
|
#f
|
|
#f)))
|
|
(define list-copy (lambda (lst) (foldr (lambda (x y) (cons x y)) '() lst)))
|
|
(define map
|
|
(lambda (func lst) (foldr (lambda (x y) (cons (func x) y)) '() lst)))
|
|
(define for-each
|
|
(lambda (f lst)
|
|
(if (null? lst) #t ((lambda () (f (car lst)) (for-each f (cdr lst)))))))
|
|
(define list-tail
|
|
(lambda (lst k) (if (zero? k) lst (list-tail (cdr lst) (- k 1)))))
|
|
(define list-ref (lambda (lst k) (car (list-tail lst k))))
|
|
(define list-set!
|
|
(lambda (lst k obj) ((lambda (kth) (set-car! kth obj)) (list-tail lst k))))
|
|
(define reverse (lambda (lst) (foldl cons '() lst)))
|
|
(define boolean=? (lambda (b1 b2 . bs) (Cyc-obj=? boolean? b1 (cons b2 bs))))
|
|
(define symbol=?
|
|
(lambda (sym1 sym2 . syms) (Cyc-obj=? symbol? sym1 (cons sym2 syms))))
|
|
(define Cyc-obj=?
|
|
(lambda (type? obj objs)
|
|
(if (type? obj)
|
|
(call/cc
|
|
(lambda (return)
|
|
(for-each (lambda (o) (if (not (eq? o obj)) (return #f) #f)) objs)
|
|
#t))
|
|
#f)))
|
|
(define make-string
|
|
(lambda (k . fill)
|
|
((lambda (fill*) (list->string (apply make-list (cons k fill*))))
|
|
(if (null? fill) '(#\space) fill))))
|
|
(define error (lambda (msg . args) (raise (cons msg args))))
|
|
(define raise
|
|
(lambda (obj) ((Cyc-current-exception-handler) (list 'raised obj))))
|
|
(define raise-continuable
|
|
(lambda (obj) ((Cyc-current-exception-handler) (list 'continuable obj))))
|
|
(define with-exception-handler
|
|
(lambda (handler thunk)
|
|
((lambda (result my-handler)
|
|
(Cyc-add-exception-handler my-handler)
|
|
(set! result (thunk))
|
|
(Cyc-remove-exception-handler)
|
|
result)
|
|
#f
|
|
(lambda (obj)
|
|
((lambda (result continuable?)
|
|
(Cyc-remove-exception-handler)
|
|
(set! result (handler (cadr obj)))
|
|
(if continuable? result (error "exception handler returned")))
|
|
#f
|
|
(if (pair? obj) (equal? (car obj) 'continuable) #f))))))
|
|
(define *exception-handler-stack* '())
|
|
(define Cyc-add-exception-handler
|
|
(lambda (h)
|
|
(set! *exception-handler-stack* (cons h *exception-handler-stack*))))
|
|
(define Cyc-remove-exception-handler
|
|
(lambda ()
|
|
(if (not (null? *exception-handler-stack*))
|
|
(set! *exception-handler-stack* (cdr *exception-handler-stack*))
|
|
#f)))
|
|
(define eval2 (lambda (exp . env) exp))
|
|
(define test
|
|
(lambda ()
|
|
(call/cc
|
|
(lambda (k)
|
|
(write (list 'result
|
|
(with-exception-handler
|
|
(lambda (obj)
|
|
(display "Error: ")
|
|
(if (pair? obj)
|
|
(for-each
|
|
(lambda (o) (display o) (display " "))
|
|
obj)
|
|
(display obj))
|
|
(display "\n")
|
|
(k #t))
|
|
(lambda () (repl)))))))))
|
|
(define repl
|
|
(lambda ()
|
|
(display "cyclone> ")
|
|
((lambda (c) (if (not (eof-object? c)) (write c) (exit 0)))
|
|
(eval2 'done))))
|
|
(test))
|
|
*/
|
|
/*
|
|
"---------------- after processing globals"
|
|
*/
|
|
/*
|
|
((define not (lambda (x) (if x #f #t)))
|
|
(define list (lambda objs objs))
|
|
(define for-each
|
|
(lambda (f lst)
|
|
(if (null? lst) #t ((lambda () (f (car lst)) (for-each f (cdr lst)))))))
|
|
(define error (lambda (msg . args) (raise (cons msg args))))
|
|
(define raise
|
|
(lambda (obj) ((Cyc-current-exception-handler) (list 'raised obj))))
|
|
(define with-exception-handler
|
|
(lambda (handler thunk)
|
|
((lambda (result my-handler)
|
|
(Cyc-add-exception-handler my-handler)
|
|
(set! result (thunk))
|
|
(Cyc-remove-exception-handler)
|
|
result)
|
|
#f
|
|
(lambda (obj)
|
|
((lambda (result continuable?)
|
|
(Cyc-remove-exception-handler)
|
|
(set! result (handler (cadr obj)))
|
|
(if continuable? result (error "exception handler returned")))
|
|
#f
|
|
(if (pair? obj) (equal? (car obj) 'continuable) #f))))))
|
|
(define *exception-handler-stack* #f)
|
|
(define Cyc-add-exception-handler
|
|
(lambda (h)
|
|
(set! *exception-handler-stack* (cons h *exception-handler-stack*))))
|
|
(define Cyc-remove-exception-handler
|
|
(lambda ()
|
|
(if (not (null? *exception-handler-stack*))
|
|
(set! *exception-handler-stack* (cdr *exception-handler-stack*))
|
|
#f)))
|
|
(define eval2 (lambda (exp . env) exp))
|
|
(define test
|
|
(lambda ()
|
|
(call/cc
|
|
(lambda (k)
|
|
(write (list 'result
|
|
(with-exception-handler
|
|
(lambda (obj)
|
|
(display "Error: ")
|
|
(if (pair? obj)
|
|
(for-each
|
|
(lambda (o) (display o) (display " "))
|
|
obj)
|
|
(display obj))
|
|
(display "\n")
|
|
(k #t))
|
|
(lambda () (repl)))))))))
|
|
(define repl
|
|
(lambda ()
|
|
(display "cyclone> ")
|
|
((lambda (c) (if (not (eof-object? c)) (write c) (exit 0)))
|
|
(eval2 'done))))
|
|
((lambda () (set! *exception-handler-stack* '()) (test))))
|
|
*/
|
|
/*
|
|
"---------------- after alpha conversion:"
|
|
*/
|
|
/*
|
|
((define not (lambda (x$1) (if x$1 #f #t)))
|
|
(define list (lambda objs$2 objs$2))
|
|
(define for-each
|
|
(lambda (f$3 lst$4)
|
|
(if (null? lst$4)
|
|
#t
|
|
((lambda () (f$3 (car lst$4)) (for-each f$3 (cdr lst$4)))))))
|
|
(define error (lambda (msg$5 . args$6) (raise (cons msg$5 args$6))))
|
|
(define raise
|
|
(lambda (obj$7) ((Cyc-current-exception-handler) (list 'raised obj$7))))
|
|
(define with-exception-handler
|
|
(lambda (handler$8 thunk$9)
|
|
((lambda (result$10 my-handler$11)
|
|
(Cyc-add-exception-handler my-handler$11)
|
|
(set! result$10 (thunk$9))
|
|
(Cyc-remove-exception-handler)
|
|
result$10)
|
|
#f
|
|
(lambda (obj$12)
|
|
((lambda (result$13 continuable?$14)
|
|
(Cyc-remove-exception-handler)
|
|
(set! result$13 (handler$8 (cadr obj$12)))
|
|
(if continuable?$14 result$13 (error "exception handler returned")))
|
|
#f
|
|
(if (pair? obj$12) (equal? (car obj$12) 'continuable) #f))))))
|
|
(define *exception-handler-stack* #f)
|
|
(define Cyc-add-exception-handler
|
|
(lambda (h$15)
|
|
(set! *exception-handler-stack* (cons h$15 *exception-handler-stack*))))
|
|
(define Cyc-remove-exception-handler
|
|
(lambda ()
|
|
(if (not (null? *exception-handler-stack*))
|
|
(set! *exception-handler-stack* (cdr *exception-handler-stack*))
|
|
#f)))
|
|
(define eval2 (lambda (exp$16 . env$17) exp$16))
|
|
(define test
|
|
(lambda ()
|
|
(call/cc
|
|
(lambda (k$18)
|
|
(write (list 'result
|
|
(with-exception-handler
|
|
(lambda (obj$19)
|
|
(display "Error: ")
|
|
(if (pair? obj$19)
|
|
(for-each
|
|
(lambda (o$20) (display o$20) (display " "))
|
|
obj$19)
|
|
(display obj$19))
|
|
(display "\n")
|
|
(k$18 #t))
|
|
(lambda () (repl)))))))))
|
|
(define repl
|
|
(lambda ()
|
|
(display "cyclone> ")
|
|
((lambda (c$21) (if (not (eof-object? c$21)) (write c$21) (exit 0)))
|
|
(eval2 'done))))
|
|
((lambda () (set! *exception-handler-stack* '()) (test))))
|
|
*/
|
|
/*
|
|
"---------------- after CPS:"
|
|
*/
|
|
/*
|
|
((define call/cc (lambda (k f) (f k (lambda (_ result) (k result)))))
|
|
(define not (lambda (k$24 x$1) (if x$1 (k$24 #f) (k$24 #t))))
|
|
(define list (lambda (k$27 . objs$2) (k$27 objs$2)))
|
|
(define for-each
|
|
(lambda (k$30 f$3 lst$4)
|
|
((lambda (r$31)
|
|
(if r$31
|
|
(k$30 #t)
|
|
((lambda ()
|
|
((lambda (r$34)
|
|
(f$3 (lambda (r$32)
|
|
((lambda (r$33) (for-each k$30 f$3 r$33)) (cdr lst$4)))
|
|
r$34))
|
|
(car lst$4))))))
|
|
(null? lst$4))))
|
|
(define error
|
|
(lambda (k$37 msg$5 . args$6)
|
|
((lambda (r$38) (raise k$37 r$38)) (cons msg$5 args$6))))
|
|
(define raise
|
|
(lambda (k$41 obj$7)
|
|
((lambda (r$42)
|
|
((lambda (r$44) (list (lambda (r$43) (r$42 k$41 r$43)) r$44 obj$7))
|
|
'raised))
|
|
(Cyc-current-exception-handler))))
|
|
(define with-exception-handler
|
|
(lambda (k$47 handler$8 thunk$9)
|
|
((lambda (r$48)
|
|
((lambda (result$10 my-handler$11)
|
|
(Cyc-add-exception-handler
|
|
(lambda (r$49)
|
|
(thunk$9
|
|
(lambda (r$52)
|
|
((lambda (r$50)
|
|
(Cyc-remove-exception-handler
|
|
(lambda (r$51) (k$47 result$10))))
|
|
(set! result$10 r$52)))))
|
|
my-handler$11))
|
|
#f
|
|
r$48))
|
|
(lambda (k$53 obj$12)
|
|
((lambda (k$59)
|
|
((lambda (r$60)
|
|
(if r$60
|
|
((lambda (r$61)
|
|
((lambda (r$62) (k$59 (equal? r$61 r$62))) 'continuable))
|
|
(car obj$12))
|
|
(k$59 #f)))
|
|
(pair? obj$12)))
|
|
(lambda (r$54)
|
|
((lambda (result$13 continuable?$14)
|
|
(Cyc-remove-exception-handler
|
|
(lambda (r$55)
|
|
((lambda (r$58)
|
|
(handler$8
|
|
(lambda (r$57)
|
|
((lambda (r$56)
|
|
(if continuable?$14
|
|
(k$53 result$13)
|
|
(error k$53 "exception handler returned")))
|
|
(set! result$13 r$57)))
|
|
r$58))
|
|
(cadr obj$12)))))
|
|
#f
|
|
r$54)))))))
|
|
(define *exception-handler-stack* #f)
|
|
(define Cyc-add-exception-handler
|
|
(lambda (k$67 h$15)
|
|
((lambda (r$68) (k$67 (set! *exception-handler-stack* r$68)))
|
|
(cons h$15 *exception-handler-stack*))))
|
|
(define Cyc-remove-exception-handler
|
|
(lambda (k$71)
|
|
((lambda (r$74)
|
|
(not (lambda (r$72)
|
|
(if r$72
|
|
((lambda (r$73) (k$71 (set! *exception-handler-stack* r$73)))
|
|
(cdr *exception-handler-stack*))
|
|
(k$71 #f)))
|
|
r$74))
|
|
(null? *exception-handler-stack*))))
|
|
(define eval2 (lambda (k$77 exp$16 . env$17) (k$77 exp$16)))
|
|
(define test
|
|
(lambda (k$80)
|
|
((lambda (r$81) (call/cc k$80 r$81))
|
|
(lambda (k$82 k$18)
|
|
((lambda (r$84)
|
|
((lambda (r$86)
|
|
((lambda (r$87)
|
|
(with-exception-handler
|
|
(lambda (r$85)
|
|
(list (lambda (r$83) (k$82 (write r$83))) r$84 r$85))
|
|
r$86
|
|
r$87))
|
|
(lambda (k$88) (repl k$88))))
|
|
(lambda (k$89 obj$19)
|
|
((lambda (r$90)
|
|
((lambda (k$93)
|
|
((lambda (r$94)
|
|
(if r$94
|
|
((lambda (r$95) (for-each k$93 r$95 obj$19))
|
|
(lambda (k$96 o$20)
|
|
((lambda (r$97) (k$96 (display " ")))
|
|
(display o$20))))
|
|
(k$93 (display obj$19))))
|
|
(pair? obj$19)))
|
|
(lambda (r$91)
|
|
((lambda (r$92) (k$18 k$89 #t)) (display "\n")))))
|
|
(display "Error: ")))))
|
|
'result)))))
|
|
(define repl
|
|
(lambda (k$100)
|
|
((lambda (r$101)
|
|
((lambda (r$105)
|
|
(eval2 (lambda (r$102)
|
|
((lambda (c$21)
|
|
((lambda (r$104)
|
|
(not (lambda (r$103)
|
|
(if r$103 (k$100 (write c$21)) (k$100 (exit 0))))
|
|
r$104))
|
|
(eof-object? c$21)))
|
|
r$102))
|
|
r$105))
|
|
'done))
|
|
(display "cyclone> "))))
|
|
((lambda ()
|
|
((lambda (r$107)
|
|
((lambda (r$106) (test %halt)) (set! *exception-handler-stack* r$107)))
|
|
'()))))
|
|
*/
|
|
/*
|
|
"---------------- after wrap-mutables:"
|
|
*/
|
|
/*
|
|
((define call/cc (lambda (k f) (f k (lambda (_ result) (k result)))))
|
|
(define not (lambda (k$24 x$1) (if x$1 (k$24 #f) (k$24 #t))))
|
|
(define list (lambda (k$27 . objs$2) (k$27 objs$2)))
|
|
(define for-each
|
|
(lambda (k$30 f$3 lst$4)
|
|
((lambda (r$31)
|
|
(if r$31
|
|
(k$30 #t)
|
|
((lambda ()
|
|
((lambda (r$34)
|
|
(f$3 (lambda (r$32)
|
|
((lambda (r$33) (for-each k$30 f$3 r$33)) (cdr lst$4)))
|
|
r$34))
|
|
(car lst$4))))))
|
|
(null? lst$4))))
|
|
(define error
|
|
(lambda (k$37 msg$5 . args$6)
|
|
((lambda (r$38) (raise k$37 r$38)) (cons msg$5 args$6))))
|
|
(define raise
|
|
(lambda (k$41 obj$7)
|
|
((lambda (r$42)
|
|
((lambda (r$44) (list (lambda (r$43) (r$42 k$41 r$43)) r$44 obj$7))
|
|
'raised))
|
|
(Cyc-current-exception-handler))))
|
|
(define with-exception-handler
|
|
(lambda (k$47 handler$8 thunk$9)
|
|
((lambda (r$48)
|
|
((lambda (result$10 my-handler$11)
|
|
((lambda (result$10)
|
|
(Cyc-add-exception-handler
|
|
(lambda (r$49)
|
|
(thunk$9
|
|
(lambda (r$52)
|
|
((lambda (r$50)
|
|
(Cyc-remove-exception-handler
|
|
(lambda (r$51) (k$47 (cell-get result$10)))))
|
|
(set-cell! result$10 r$52)))))
|
|
my-handler$11))
|
|
(cell result$10)))
|
|
#f
|
|
r$48))
|
|
(lambda (k$53 obj$12)
|
|
((lambda (k$59)
|
|
((lambda (r$60)
|
|
(if r$60
|
|
((lambda (r$61)
|
|
((lambda (r$62) (k$59 (equal? r$61 r$62))) 'continuable))
|
|
(car obj$12))
|
|
(k$59 #f)))
|
|
(pair? obj$12)))
|
|
(lambda (r$54)
|
|
((lambda (result$13 continuable?$14)
|
|
((lambda (result$13)
|
|
(Cyc-remove-exception-handler
|
|
(lambda (r$55)
|
|
((lambda (r$58)
|
|
(handler$8
|
|
(lambda (r$57)
|
|
((lambda (r$56)
|
|
(if continuable?$14
|
|
(k$53 (cell-get result$13))
|
|
(error k$53 "exception handler returned")))
|
|
(set-cell! result$13 r$57)))
|
|
r$58))
|
|
(cadr obj$12)))))
|
|
(cell result$13)))
|
|
#f
|
|
r$54)))))))
|
|
(define *exception-handler-stack* #f)
|
|
(define Cyc-add-exception-handler
|
|
(lambda (k$67 h$15)
|
|
((lambda (r$68) (k$67 (set-global! *exception-handler-stack* r$68)))
|
|
(cons h$15 *exception-handler-stack*))))
|
|
(define Cyc-remove-exception-handler
|
|
(lambda (k$71)
|
|
((lambda (r$74)
|
|
(not (lambda (r$72)
|
|
(if r$72
|
|
((lambda (r$73)
|
|
(k$71 (set-global! *exception-handler-stack* r$73)))
|
|
(cdr *exception-handler-stack*))
|
|
(k$71 #f)))
|
|
r$74))
|
|
(null? *exception-handler-stack*))))
|
|
(define eval2 (lambda (k$77 exp$16 . env$17) (k$77 exp$16)))
|
|
(define test
|
|
(lambda (k$80)
|
|
((lambda (r$81) (call/cc k$80 r$81))
|
|
(lambda (k$82 k$18)
|
|
((lambda (r$84)
|
|
((lambda (r$86)
|
|
((lambda (r$87)
|
|
(with-exception-handler
|
|
(lambda (r$85)
|
|
(list (lambda (r$83) (k$82 (write r$83))) r$84 r$85))
|
|
r$86
|
|
r$87))
|
|
(lambda (k$88) (repl k$88))))
|
|
(lambda (k$89 obj$19)
|
|
((lambda (r$90)
|
|
((lambda (k$93)
|
|
((lambda (r$94)
|
|
(if r$94
|
|
((lambda (r$95) (for-each k$93 r$95 obj$19))
|
|
(lambda (k$96 o$20)
|
|
((lambda (r$97) (k$96 (display " ")))
|
|
(display o$20))))
|
|
(k$93 (display obj$19))))
|
|
(pair? obj$19)))
|
|
(lambda (r$91)
|
|
((lambda (r$92) (k$18 k$89 #t)) (display "\n")))))
|
|
(display "Error: ")))))
|
|
'result)))))
|
|
(define repl
|
|
(lambda (k$100)
|
|
((lambda (r$101)
|
|
((lambda (r$105)
|
|
(eval2 (lambda (r$102)
|
|
((lambda (c$21)
|
|
((lambda (r$104)
|
|
(not (lambda (r$103)
|
|
(if r$103 (k$100 (write c$21)) (k$100 (exit 0))))
|
|
r$104))
|
|
(eof-object? c$21)))
|
|
r$102))
|
|
r$105))
|
|
'done))
|
|
(display "cyclone> "))))
|
|
((lambda ()
|
|
((lambda (r$107)
|
|
((lambda (r$106) (test %halt))
|
|
(set-global! *exception-handler-stack* r$107)))
|
|
'()))))
|
|
*/
|
|
/*
|
|
"---------------- after closure-convert:"
|
|
*/
|
|
/*
|
|
((define call/cc
|
|
(lambda (k f)
|
|
((%closure-ref f 0)
|
|
f
|
|
k
|
|
(%closure
|
|
(lambda (self$108 _ result)
|
|
((%closure-ref (%closure-ref self$108 1) 0)
|
|
(%closure-ref self$108 1)
|
|
result))
|
|
k))))
|
|
(define not
|
|
(lambda (k$24 x$1)
|
|
(if x$1 ((%closure-ref k$24 0) k$24 #f) ((%closure-ref k$24 0) k$24 #t))))
|
|
(define list (lambda (k$27 . objs$2) ((%closure-ref k$27 0) k$27 objs$2)))
|
|
(define for-each
|
|
(lambda (k$30 f$3 lst$4)
|
|
((%closure
|
|
(lambda (self$109 r$31)
|
|
(if r$31
|
|
((%closure-ref (%closure-ref self$109 2) 0)
|
|
(%closure-ref self$109 2)
|
|
#t)
|
|
((%closure
|
|
(lambda (self$110)
|
|
((%closure
|
|
(lambda (self$111 r$34)
|
|
((%closure-ref (%closure-ref self$111 1) 0)
|
|
(%closure-ref self$111 1)
|
|
(%closure
|
|
(lambda (self$112 r$32)
|
|
((%closure
|
|
(lambda (self$113 r$33)
|
|
((%closure-ref for-each 0)
|
|
for-each
|
|
(%closure-ref self$113 2)
|
|
(%closure-ref self$113 1)
|
|
r$33))
|
|
(%closure-ref self$112 1)
|
|
(%closure-ref self$112 2))
|
|
(cdr (%closure-ref self$112 3))))
|
|
(%closure-ref self$111 1)
|
|
(%closure-ref self$111 2)
|
|
(%closure-ref self$111 3))
|
|
r$34))
|
|
(%closure-ref self$110 1)
|
|
(%closure-ref self$110 2)
|
|
(%closure-ref self$110 3))
|
|
(car (%closure-ref self$110 3))))
|
|
(%closure-ref self$109 1)
|
|
(%closure-ref self$109 2)
|
|
(%closure-ref self$109 3)))))
|
|
f$3
|
|
k$30
|
|
lst$4)
|
|
(null? lst$4))))
|
|
(define error
|
|
(lambda (k$37 msg$5 . args$6)
|
|
((%closure
|
|
(lambda (self$114 r$38)
|
|
((%closure-ref raise 0) raise (%closure-ref self$114 1) r$38))
|
|
k$37)
|
|
(cons msg$5 args$6))))
|
|
(define raise
|
|
(lambda (k$41 obj$7)
|
|
((%closure
|
|
(lambda (self$115 r$42)
|
|
((%closure
|
|
(lambda (self$116 r$44)
|
|
((%closure-ref list 0)
|
|
list
|
|
(%closure
|
|
(lambda (self$117 r$43)
|
|
((%closure-ref (%closure-ref self$117 2) 0)
|
|
(%closure-ref self$117 2)
|
|
(%closure-ref self$117 1)
|
|
r$43))
|
|
(%closure-ref self$116 1)
|
|
(%closure-ref self$116 3))
|
|
r$44
|
|
(%closure-ref self$116 2)))
|
|
(%closure-ref self$115 1)
|
|
(%closure-ref self$115 2)
|
|
r$42)
|
|
'raised))
|
|
k$41
|
|
obj$7)
|
|
(Cyc-current-exception-handler))))
|
|
(define with-exception-handler
|
|
(lambda (k$47 handler$8 thunk$9)
|
|
((%closure
|
|
(lambda (self$130 r$48)
|
|
((%closure
|
|
(lambda (self$131 result$10 my-handler$11)
|
|
((%closure
|
|
(lambda (self$132 result$10)
|
|
((%closure-ref Cyc-add-exception-handler 0)
|
|
Cyc-add-exception-handler
|
|
(%closure
|
|
(lambda (self$133 r$49)
|
|
((%closure-ref (%closure-ref self$133 3) 0)
|
|
(%closure-ref self$133 3)
|
|
(%closure
|
|
(lambda (self$134 r$52)
|
|
((%closure
|
|
(lambda (self$135 r$50)
|
|
((%closure-ref Cyc-remove-exception-handler 0)
|
|
Cyc-remove-exception-handler
|
|
(%closure
|
|
(lambda (self$136 r$51)
|
|
((%closure-ref (%closure-ref self$136 1) 0)
|
|
(%closure-ref self$136 1)
|
|
(cell-get (%closure-ref self$136 2))))
|
|
(%closure-ref self$135 1)
|
|
(%closure-ref self$135 2))))
|
|
(%closure-ref self$134 1)
|
|
(%closure-ref self$134 2))
|
|
(set-cell! (%closure-ref self$134 2) r$52)))
|
|
(%closure-ref self$133 1)
|
|
(%closure-ref self$133 2))))
|
|
(%closure-ref self$132 1)
|
|
result$10
|
|
(%closure-ref self$132 3))
|
|
(%closure-ref self$132 2)))
|
|
(%closure-ref self$131 1)
|
|
my-handler$11
|
|
(%closure-ref self$131 2))
|
|
(cell result$10)))
|
|
(%closure-ref self$130 1)
|
|
(%closure-ref self$130 2))
|
|
#f
|
|
r$48))
|
|
k$47
|
|
thunk$9)
|
|
(%closure
|
|
(lambda (self$118 k$53 obj$12)
|
|
((%closure
|
|
(lambda (self$126 k$59)
|
|
((%closure
|
|
(lambda (self$127 r$60)
|
|
(if r$60
|
|
((%closure
|
|
(lambda (self$128 r$61)
|
|
((%closure
|
|
(lambda (self$129 r$62)
|
|
((%closure-ref (%closure-ref self$129 1) 0)
|
|
(%closure-ref self$129 1)
|
|
(equal? (%closure-ref self$129 2) r$62)))
|
|
(%closure-ref self$128 1)
|
|
r$61)
|
|
'continuable))
|
|
(%closure-ref self$127 1))
|
|
(car (%closure-ref self$127 2)))
|
|
((%closure-ref (%closure-ref self$127 1) 0)
|
|
(%closure-ref self$127 1)
|
|
#f)))
|
|
k$59
|
|
(%closure-ref self$126 1))
|
|
(pair? (%closure-ref self$126 1))))
|
|
obj$12)
|
|
(%closure
|
|
(lambda (self$119 r$54)
|
|
((%closure
|
|
(lambda (self$120 result$13 continuable?$14)
|
|
((%closure
|
|
(lambda (self$121 result$13)
|
|
((%closure-ref Cyc-remove-exception-handler 0)
|
|
Cyc-remove-exception-handler
|
|
(%closure
|
|
(lambda (self$122 r$55)
|
|
((%closure
|
|
(lambda (self$123 r$58)
|
|
((%closure-ref (%closure-ref self$123 2) 0)
|
|
(%closure-ref self$123 2)
|
|
(%closure
|
|
(lambda (self$124 r$57)
|
|
((%closure
|
|
(lambda (self$125 r$56)
|
|
(if (%closure-ref self$125 1)
|
|
((%closure-ref (%closure-ref self$125 2) 0)
|
|
(%closure-ref self$125 2)
|
|
(cell-get (%closure-ref self$125 3)))
|
|
((%closure-ref error 0)
|
|
error
|
|
(%closure-ref self$125 2)
|
|
"exception handler returned")))
|
|
(%closure-ref self$124 1)
|
|
(%closure-ref self$124 2)
|
|
(%closure-ref self$124 3))
|
|
(set-cell! (%closure-ref self$124 3) r$57)))
|
|
(%closure-ref self$123 1)
|
|
(%closure-ref self$123 3)
|
|
(%closure-ref self$123 4))
|
|
r$58))
|
|
(%closure-ref self$122 1)
|
|
(%closure-ref self$122 2)
|
|
(%closure-ref self$122 3)
|
|
(%closure-ref self$122 5))
|
|
(cadr (%closure-ref self$122 4))))
|
|
(%closure-ref self$121 1)
|
|
(%closure-ref self$121 2)
|
|
(%closure-ref self$121 3)
|
|
(%closure-ref self$121 4)
|
|
result$13)))
|
|
continuable?$14
|
|
(%closure-ref self$120 1)
|
|
(%closure-ref self$120 2)
|
|
(%closure-ref self$120 3))
|
|
(cell result$13)))
|
|
(%closure-ref self$119 1)
|
|
(%closure-ref self$119 2)
|
|
(%closure-ref self$119 3))
|
|
#f
|
|
r$54))
|
|
(%closure-ref self$118 1)
|
|
k$53
|
|
obj$12)))
|
|
handler$8))))
|
|
(define *exception-handler-stack* (%closure-ref #f 0) #f)
|
|
(define Cyc-add-exception-handler
|
|
(lambda (k$67 h$15)
|
|
((%closure
|
|
(lambda (self$137 r$68)
|
|
((%closure-ref (%closure-ref self$137 1) 0)
|
|
(%closure-ref self$137 1)
|
|
(set-global! *exception-handler-stack* r$68)))
|
|
k$67)
|
|
(cons h$15 *exception-handler-stack*))))
|
|
(define Cyc-remove-exception-handler
|
|
(lambda (k$71)
|
|
((%closure
|
|
(lambda (self$138 r$74)
|
|
((%closure-ref not 0)
|
|
not
|
|
(%closure
|
|
(lambda (self$139 r$72)
|
|
(if r$72
|
|
((%closure
|
|
(lambda (self$140 r$73)
|
|
((%closure-ref (%closure-ref self$140 1) 0)
|
|
(%closure-ref self$140 1)
|
|
(set-global! *exception-handler-stack* r$73)))
|
|
(%closure-ref self$139 1))
|
|
(cdr *exception-handler-stack*))
|
|
((%closure-ref (%closure-ref self$139 1) 0)
|
|
(%closure-ref self$139 1)
|
|
#f)))
|
|
(%closure-ref self$138 1))
|
|
r$74))
|
|
k$71)
|
|
(null? *exception-handler-stack*))))
|
|
(define eval2
|
|
(lambda (k$77 exp$16 . env$17) ((%closure-ref k$77 0) k$77 exp$16)))
|
|
(define test
|
|
(lambda (k$80)
|
|
((%closure
|
|
(lambda (self$157 r$81)
|
|
((%closure-ref call/cc 0) call/cc (%closure-ref self$157 1) r$81))
|
|
k$80)
|
|
(%closure
|
|
(lambda (self$141 k$82 k$18)
|
|
((%closure
|
|
(lambda (self$142 r$84)
|
|
((%closure
|
|
(lambda (self$152 r$86)
|
|
((%closure
|
|
(lambda (self$154 r$87)
|
|
((%closure-ref with-exception-handler 0)
|
|
with-exception-handler
|
|
(%closure
|
|
(lambda (self$155 r$85)
|
|
((%closure-ref list 0)
|
|
list
|
|
(%closure
|
|
(lambda (self$156 r$83)
|
|
((%closure-ref (%closure-ref self$156 1) 0)
|
|
(%closure-ref self$156 1)
|
|
(write r$83)))
|
|
(%closure-ref self$155 1))
|
|
(%closure-ref self$155 2)
|
|
r$85))
|
|
(%closure-ref self$154 1)
|
|
(%closure-ref self$154 2))
|
|
(%closure-ref self$154 3)
|
|
r$87))
|
|
(%closure-ref self$152 1)
|
|
(%closure-ref self$152 2)
|
|
r$86)
|
|
(%closure
|
|
(lambda (self$153 k$88)
|
|
((%closure-ref repl 0) repl k$88)))))
|
|
(%closure-ref self$142 2)
|
|
r$84)
|
|
(%closure
|
|
(lambda (self$143 k$89 obj$19)
|
|
((%closure
|
|
(lambda (self$144 r$90)
|
|
((%closure
|
|
(lambda (self$147 k$93)
|
|
((%closure
|
|
(lambda (self$148 r$94)
|
|
(if r$94
|
|
((%closure
|
|
(lambda (self$151 r$95)
|
|
((%closure-ref for-each 0)
|
|
for-each
|
|
(%closure-ref self$151 1)
|
|
r$95
|
|
(%closure-ref self$151 2)))
|
|
(%closure-ref self$148 1)
|
|
(%closure-ref self$148 2))
|
|
(%closure
|
|
(lambda (self$149 k$96 o$20)
|
|
((%closure
|
|
(lambda (self$150 r$97)
|
|
((%closure-ref (%closure-ref self$150 1) 0)
|
|
(%closure-ref self$150 1)
|
|
(display " ")))
|
|
k$96)
|
|
(display o$20)))))
|
|
((%closure-ref (%closure-ref self$148 1) 0)
|
|
(%closure-ref self$148 1)
|
|
(display (%closure-ref self$148 2)))))
|
|
k$93
|
|
(%closure-ref self$147 1))
|
|
(pair? (%closure-ref self$147 1))))
|
|
(%closure-ref self$144 3))
|
|
(%closure
|
|
(lambda (self$145 r$91)
|
|
((%closure
|
|
(lambda (self$146 r$92)
|
|
((%closure-ref (%closure-ref self$146 1) 0)
|
|
(%closure-ref self$146 1)
|
|
(%closure-ref self$146 2)
|
|
#t))
|
|
(%closure-ref self$145 1)
|
|
(%closure-ref self$145 2))
|
|
(display "\n")))
|
|
(%closure-ref self$144 1)
|
|
(%closure-ref self$144 2))))
|
|
(%closure-ref self$143 1)
|
|
k$89
|
|
obj$19)
|
|
(display "Error: ")))
|
|
(%closure-ref self$142 1))))
|
|
k$18
|
|
k$82)
|
|
'result))))))
|
|
(define repl
|
|
(lambda (k$100)
|
|
((%closure
|
|
(lambda (self$158 r$101)
|
|
((%closure
|
|
(lambda (self$159 r$105)
|
|
((%closure-ref eval2 0)
|
|
eval2
|
|
(%closure
|
|
(lambda (self$160 r$102)
|
|
((%closure
|
|
(lambda (self$161 c$21)
|
|
((%closure
|
|
(lambda (self$162 r$104)
|
|
((%closure-ref not 0)
|
|
not
|
|
(%closure
|
|
(lambda (self$163 r$103)
|
|
(if r$103
|
|
((%closure-ref (%closure-ref self$163 2) 0)
|
|
(%closure-ref self$163 2)
|
|
(write (%closure-ref self$163 1)))
|
|
((%closure-ref (%closure-ref self$163 2) 0)
|
|
(%closure-ref self$163 2)
|
|
(exit 0))))
|
|
(%closure-ref self$162 1)
|
|
(%closure-ref self$162 2))
|
|
r$104))
|
|
c$21
|
|
(%closure-ref self$161 1))
|
|
(eof-object? c$21)))
|
|
(%closure-ref self$160 1))
|
|
r$102))
|
|
(%closure-ref self$159 1))
|
|
r$105))
|
|
(%closure-ref self$158 1))
|
|
'done))
|
|
k$100)
|
|
(display "cyclone> "))))
|
|
((lambda ()
|
|
((lambda (r$107)
|
|
((lambda (r$106) ((%closure-ref test 0) test %halt))
|
|
(set-global! *exception-handler-stack* r$107)))
|
|
'()))))
|
|
*/
|
|
/*
|
|
"---------------- C code:"
|
|
*/
|
|
#define DECLARE_GLOBALS \
|
|
static volatile object __glo_repl = nil; \
|
|
static volatile object __glo_test = nil; \
|
|
static volatile object __glo_eval2 = nil; \
|
|
static volatile object __glo_Cyc_91remove_91exception_91handler = nil; \
|
|
static volatile object __glo_Cyc_91add_91exception_91handler = nil; \
|
|
static volatile object __glo__85exception_91handler_91stack_85 = nil; \
|
|
static volatile object __glo_with_91exception_91handler = nil; \
|
|
static volatile object __glo_raise = nil; \
|
|
static volatile object __glo_error = nil; \
|
|
static volatile object __glo_for_91each = nil; \
|
|
static volatile object __glo__list = nil; \
|
|
static volatile object __glo_not = nil; \
|
|
static volatile object __glo_call_95cc = nil;
|
|
|
|
#define GC_GLOBALS \
|
|
{ \
|
|
transp(__glo_repl); \
|
|
transp(__glo_test); \
|
|
transp(__glo_eval2); \
|
|
transp(__glo_Cyc_91remove_91exception_91handler); \
|
|
transp(__glo_Cyc_91add_91exception_91handler); \
|
|
transp(__glo__85exception_91handler_91stack_85); \
|
|
transp(__glo_with_91exception_91handler); \
|
|
transp(__glo_raise); \
|
|
transp(__glo_error); \
|
|
transp(__glo_for_91each); \
|
|
transp(__glo__list); \
|
|
transp(__glo_not); \
|
|
transp(__glo_call_95cc);}
|
|
|
|
#define funcall0(cfn) ((cfn)->fn)(0,cfn)
|
|
/* Return to continuation after checking for stack overflow. */
|
|
#define return_funcall0(cfn) \
|
|
{char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[0]; \
|
|
GC(cfn,buf,0); return; \
|
|
} else {funcall0((closure) (cfn)); return;}}
|
|
|
|
/* Evaluate an expression after checking for stack overflow. */
|
|
#define return_check0(_fn) { \
|
|
char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[0]; \
|
|
mclosure0(c1, _fn); \
|
|
GC(&c1, buf, 0); return; \
|
|
} else { (_fn)(0,(closure)_fn); }}
|
|
|
|
#define funcall1(cfn,a1) if (type_of(cfn) == cons_tag || prim(cfn)) { Cyc_apply(0, (closure)a1, cfn); } else { ((cfn)->fn)(1,cfn,a1);}
|
|
/* Return to continuation after checking for stack overflow. */
|
|
#define return_funcall1(cfn,a1) \
|
|
{char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[1]; buf[0] = a1;\
|
|
GC(cfn,buf,1); return; \
|
|
} else {funcall1((closure) (cfn),a1); return;}}
|
|
|
|
/* Evaluate an expression after checking for stack overflow. */
|
|
#define return_check1(_fn,a1) { \
|
|
char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[1]; buf[0] = a1; \
|
|
mclosure0(c1, _fn); \
|
|
GC(&c1, buf, 1); return; \
|
|
} else { (_fn)(1,(closure)_fn,a1); }}
|
|
|
|
#define funcall2(cfn,a1,a2) if (type_of(cfn) == cons_tag || prim(cfn)) { Cyc_apply(1, (closure)a1, cfn,a2); } else { ((cfn)->fn)(2,cfn,a1,a2);}
|
|
/* Return to continuation after checking for stack overflow. */
|
|
#define return_funcall2(cfn,a1,a2) \
|
|
{char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[2]; buf[0] = a1;buf[1] = a2;\
|
|
GC(cfn,buf,2); return; \
|
|
} else {funcall2((closure) (cfn),a1,a2); return;}}
|
|
|
|
/* Evaluate an expression after checking for stack overflow. */
|
|
#define return_check2(_fn,a1,a2) { \
|
|
char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[2]; buf[0] = a1;buf[1] = a2; \
|
|
mclosure0(c1, _fn); \
|
|
GC(&c1, buf, 2); return; \
|
|
} else { (_fn)(2,(closure)_fn,a1,a2); }}
|
|
|
|
#define funcall3(cfn,a1,a2,a3) if (type_of(cfn) == cons_tag || prim(cfn)) { Cyc_apply(2, (closure)a1, cfn,a2,a3); } else { ((cfn)->fn)(3,cfn,a1,a2,a3);}
|
|
/* Return to continuation after checking for stack overflow. */
|
|
#define return_funcall3(cfn,a1,a2,a3) \
|
|
{char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3;\
|
|
GC(cfn,buf,3); return; \
|
|
} else {funcall3((closure) (cfn),a1,a2,a3); return;}}
|
|
|
|
/* Evaluate an expression after checking for stack overflow. */
|
|
#define return_check3(_fn,a1,a2,a3) { \
|
|
char stack; \
|
|
if (check_overflow(&stack,stack_limit1)) { \
|
|
object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3; \
|
|
mclosure0(c1, _fn); \
|
|
GC(&c1, buf, 3); return; \
|
|
} else { (_fn)(3,(closure)_fn,a1,a2,a3); }}
|
|
|
|
#include "runtime.h"
|
|
defsymbol(done, done);
|
|
defsymbol(result, result);
|
|
defsymbol(continuable, continuable);
|
|
defsymbol(raised, raised);
|
|
static void __lambda_70(int argc, closure _) ;
|
|
static void __lambda_69(int argc, closure _,object r_73107) ;
|
|
static void __lambda_68(int argc, closure _,object r_73106) ;
|
|
static void __lambda_67(int argc, closure _,object k_73100) ;
|
|
static void __lambda_66(int argc, object self_73158, object r_73101) ;
|
|
static void __lambda_65(int argc, object self_73159, object r_73105) ;
|
|
static void __lambda_64(int argc, object self_73160, object r_73102) ;
|
|
static void __lambda_63(int argc, object self_73161, object c_7321) ;
|
|
static void __lambda_62(int argc, object self_73162, object r_73104) ;
|
|
static void __lambda_61(int argc, object self_73163, object r_73103) ;
|
|
static void __lambda_60(int argc, closure _,object k_7380) ;
|
|
static void __lambda_59(int argc, object self_73141, object k_7382, object k_7318) ;
|
|
static void __lambda_58(int argc, object self_73142, object r_7384) ;
|
|
static void __lambda_57(int argc, object self_73143, object k_7389, object obj_7319) ;
|
|
static void __lambda_56(int argc, object self_73144, object r_7390) ;
|
|
static void __lambda_55(int argc, object self_73145, object r_7391) ;
|
|
static void __lambda_54(int argc, object self_73146, object r_7392) ;
|
|
static void __lambda_53(int argc, object self_73147, object k_7393) ;
|
|
static void __lambda_52(int argc, object self_73148, object r_7394) ;
|
|
static void __lambda_51(int argc, object self_73149, object k_7396, object o_7320) ;
|
|
static void __lambda_50(int argc, object self_73150, object r_7397) ;
|
|
static void __lambda_49(int argc, object self_73151, object r_7395) ;
|
|
static void __lambda_48(int argc, object self_73152, object r_7386) ;
|
|
static void __lambda_47(int argc, object self_73153, object k_7388) ;
|
|
static void __lambda_46(int argc, object self_73154, object r_7387) ;
|
|
static void __lambda_45(int argc, object self_73155, object r_7385) ;
|
|
static void __lambda_44(int argc, object self_73156, object r_7383) ;
|
|
static void __lambda_43(int argc, object self_73157, object r_7381) ;
|
|
static void __lambda_42(int argc, closure _,object k_7377, object exp_7316, object env_7317, ...) ;
|
|
static void __lambda_41(int argc, closure _,object k_7371) ;
|
|
static void __lambda_40(int argc, object self_73138, object r_7374) ;
|
|
static void __lambda_39(int argc, object self_73139, object r_7372) ;
|
|
static void __lambda_38(int argc, object self_73140, object r_7373) ;
|
|
static void __lambda_37(int argc, closure _,object k_7367, object h_7315) ;
|
|
static void __lambda_36(int argc, object self_73137, object r_7368) ;
|
|
static void __lambda_35(int argc, closure _,object k_7347, object handler_738, object thunk_739) ;
|
|
static void __lambda_34(int argc, object self_73118, object k_7353, object obj_7312) ;
|
|
static void __lambda_33(int argc, object self_73119, object r_7354) ;
|
|
static void __lambda_32(int argc, object self_73120, object result_7313, object continuable_127_7314) ;
|
|
static void __lambda_31(int argc, object self_73121, object result_7313) ;
|
|
static void __lambda_30(int argc, object self_73122, object r_7355) ;
|
|
static void __lambda_29(int argc, object self_73123, object r_7358) ;
|
|
static void __lambda_28(int argc, object self_73124, object r_7357) ;
|
|
static void __lambda_27(int argc, object self_73125, object r_7356) ;
|
|
static void __lambda_26(int argc, object self_73126, object k_7359) ;
|
|
static void __lambda_25(int argc, object self_73127, object r_7360) ;
|
|
static void __lambda_24(int argc, object self_73128, object r_7361) ;
|
|
static void __lambda_23(int argc, object self_73129, object r_7362) ;
|
|
static void __lambda_22(int argc, object self_73130, object r_7348) ;
|
|
static void __lambda_21(int argc, object self_73131, object result_7310, object my_91handler_7311) ;
|
|
static void __lambda_20(int argc, object self_73132, object result_7310) ;
|
|
static void __lambda_19(int argc, object self_73133, object r_7349) ;
|
|
static void __lambda_18(int argc, object self_73134, object r_7352) ;
|
|
static void __lambda_17(int argc, object self_73135, object r_7350) ;
|
|
static void __lambda_16(int argc, object self_73136, object r_7351) ;
|
|
static void __lambda_15(int argc, closure _,object k_7341, object obj_737) ;
|
|
static void __lambda_14(int argc, object self_73115, object r_7342) ;
|
|
static void __lambda_13(int argc, object self_73116, object r_7344) ;
|
|
static void __lambda_12(int argc, object self_73117, object r_7343) ;
|
|
static void __lambda_11(int argc, closure _,object k_7337, object msg_735, object args_736, ...) ;
|
|
static void __lambda_10(int argc, object self_73114, object r_7338) ;
|
|
static void __lambda_9(int argc, closure _,object k_7330, object f_733, object lst_734) ;
|
|
static void __lambda_8(int argc, object self_73109, object r_7331) ;
|
|
static void __lambda_7(int argc, object self_73110) ;
|
|
static void __lambda_6(int argc, object self_73111, object r_7334) ;
|
|
static void __lambda_5(int argc, object self_73112, object r_7332) ;
|
|
static void __lambda_4(int argc, object self_73113, object r_7333) ;
|
|
static void __lambda_3(int argc, closure _,object k_7327, object objs_732, ...) ;
|
|
static void __lambda_2(int argc, closure _,object k_7324, object x_731) ;
|
|
static void __lambda_1(int argc, closure _,object k, object f) ;
|
|
static void __lambda_0(int argc, object self_73108, object _191, object result) ;
|
|
|
|
static void __lambda_70(int argc, closure _) {
|
|
return_check1(__lambda_69,nil);;
|
|
}
|
|
|
|
static void __lambda_69(int argc, closure _,object r_73107) {
|
|
return_check1(__lambda_68,global_set(__glo__85exception_91handler_91stack_85, r_73107));;
|
|
}
|
|
|
|
static void __lambda_68(int argc, closure _,object r_73106) {
|
|
return_funcall1( __glo_test, primitive__75halt);;
|
|
}
|
|
|
|
static void __lambda_67(int argc, closure _,object k_73100) {
|
|
|
|
closureN_type c_73399;
|
|
c_73399.tag = closureN_tag;
|
|
c_73399.fn = __lambda_66;
|
|
c_73399.num_elt = 1;
|
|
c_73399.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73399.elts[0] = k_73100;
|
|
|
|
|
|
make_string(c_73424, "cyclone> ");
|
|
return_funcall1((closure)&c_73399, Cyc_display(&c_73424));;
|
|
}
|
|
|
|
static void __lambda_66(int argc, object self_73158, object r_73101) {
|
|
|
|
closureN_type c_73401;
|
|
c_73401.tag = closureN_tag;
|
|
c_73401.fn = __lambda_65;
|
|
c_73401.num_elt = 1;
|
|
c_73401.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73401.elts[0] = ((closureN)self_73158)->elts[0];
|
|
|
|
return_funcall1((closure)&c_73401, quote_done);;
|
|
}
|
|
|
|
static void __lambda_65(int argc, object self_73159, object r_73105) {
|
|
|
|
closureN_type c_73403;
|
|
c_73403.tag = closureN_tag;
|
|
c_73403.fn = __lambda_64;
|
|
c_73403.num_elt = 1;
|
|
c_73403.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73403.elts[0] = ((closureN)self_73159)->elts[0];
|
|
|
|
return_funcall2( __glo_eval2, &c_73403, r_73105);;
|
|
}
|
|
|
|
static void __lambda_64(int argc, object self_73160, object r_73102) {
|
|
|
|
closureN_type c_73405;
|
|
c_73405.tag = closureN_tag;
|
|
c_73405.fn = __lambda_63;
|
|
c_73405.num_elt = 1;
|
|
c_73405.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73405.elts[0] = ((closureN)self_73160)->elts[0];
|
|
|
|
printf("debug(64) - ");
|
|
Cyc_display(((closureN)self_73160)->elts[0]);
|
|
printf("\n");
|
|
|
|
return_funcall1((closure)&c_73405, r_73102);;
|
|
}
|
|
|
|
static void __lambda_63(int argc, object self_73161, object c_7321) {
|
|
|
|
closureN_type c_73407;
|
|
c_73407.tag = closureN_tag;
|
|
c_73407.fn = __lambda_62;
|
|
c_73407.num_elt = 2;
|
|
c_73407.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73407.elts[0] = c_7321;
|
|
c_73407.elts[1] = ((closureN)self_73161)->elts[0];
|
|
|
|
return_funcall1((closure)&c_73407, Cyc_is_eof_object(c_7321));;
|
|
}
|
|
|
|
static void __lambda_62(int argc, object self_73162, object r_73104) {
|
|
|
|
closureN_type c_73409;
|
|
c_73409.tag = closureN_tag;
|
|
c_73409.fn = __lambda_61;
|
|
c_73409.num_elt = 2;
|
|
c_73409.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73409.elts[0] = ((closureN)self_73162)->elts[0];
|
|
c_73409.elts[1] = ((closureN)self_73162)->elts[1];
|
|
|
|
printf("debug(62) - ");
|
|
Cyc_display(((closureN)self_73162)->elts[1]);
|
|
printf("\n");
|
|
|
|
return_funcall2( __glo_not, &c_73409, r_73104);;
|
|
}
|
|
|
|
static void __lambda_61(int argc, object self_73163, object r_73103) {
|
|
if( !eq(boolean_f, r_73103) ){
|
|
return_funcall1( ((closureN)self_73163)->elts[1], Cyc_write(((closureN)self_73163)->elts[0]));
|
|
} else {
|
|
|
|
printf("debug: ");
|
|
Cyc_display(((closureN)self_73163)->elts[1]);
|
|
printf("\n");
|
|
make_int(c_73419, 0);
|
|
return_funcall1( ((closureN)self_73163)->elts[1], __halt(&c_73419));}
|
|
;
|
|
}
|
|
|
|
static void __lambda_60(int argc, closure _,object k_7380) {
|
|
|
|
closureN_type c_73333;
|
|
c_73333.tag = closureN_tag;
|
|
c_73333.fn = __lambda_43;
|
|
c_73333.num_elt = 1;
|
|
c_73333.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73333.elts[0] = k_7380;
|
|
|
|
|
|
mclosure0(c_73336, (function_type)__lambda_59);
|
|
return_funcall1((closure)&c_73333, &c_73336);;
|
|
}
|
|
|
|
static void __lambda_59(int argc, object self_73141, object k_7382, object k_7318) {
|
|
|
|
closureN_type c_73338;
|
|
c_73338.tag = closureN_tag;
|
|
c_73338.fn = __lambda_58;
|
|
c_73338.num_elt = 2;
|
|
c_73338.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73338.elts[0] = k_7318;
|
|
c_73338.elts[1] = k_7382;
|
|
|
|
return_funcall1((closure)&c_73338, quote_result);;
|
|
}
|
|
|
|
static void __lambda_58(int argc, object self_73142, object r_7384) {
|
|
|
|
closureN_type c_73340;
|
|
c_73340.tag = closureN_tag;
|
|
c_73340.fn = __lambda_48;
|
|
c_73340.num_elt = 2;
|
|
c_73340.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73340.elts[0] = ((closureN)self_73142)->elts[1];
|
|
c_73340.elts[1] = r_7384;
|
|
|
|
|
|
closureN_type c_73355;
|
|
c_73355.tag = closureN_tag;
|
|
c_73355.fn = __lambda_57;
|
|
c_73355.num_elt = 1;
|
|
c_73355.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73355.elts[0] = ((closureN)self_73142)->elts[0];
|
|
|
|
return_funcall1((closure)&c_73340, &c_73355);;
|
|
}
|
|
|
|
static void __lambda_57(int argc, object self_73143, object k_7389, object obj_7319) {
|
|
|
|
closureN_type c_73357;
|
|
c_73357.tag = closureN_tag;
|
|
c_73357.fn = __lambda_56;
|
|
c_73357.num_elt = 3;
|
|
c_73357.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73357.elts[0] = ((closureN)self_73143)->elts[0];
|
|
c_73357.elts[1] = k_7389;
|
|
c_73357.elts[2] = obj_7319;
|
|
|
|
|
|
make_string(c_73396, "Error: ");
|
|
return_funcall1((closure)&c_73357, Cyc_display(&c_73396));;
|
|
}
|
|
|
|
static void __lambda_56(int argc, object self_73144, object r_7390) {
|
|
|
|
closureN_type c_73359;
|
|
c_73359.tag = closureN_tag;
|
|
c_73359.fn = __lambda_53;
|
|
c_73359.num_elt = 1;
|
|
c_73359.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73359.elts[0] = ((closureN)self_73144)->elts[2];
|
|
|
|
|
|
closureN_type c_73385;
|
|
c_73385.tag = closureN_tag;
|
|
c_73385.fn = __lambda_55;
|
|
c_73385.num_elt = 2;
|
|
c_73385.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73385.elts[0] = ((closureN)self_73144)->elts[0];
|
|
c_73385.elts[1] = ((closureN)self_73144)->elts[1];
|
|
|
|
return_funcall1((closure)&c_73359, &c_73385);;
|
|
}
|
|
|
|
static void __lambda_55(int argc, object self_73145, object r_7391) {
|
|
|
|
closureN_type c_73387;
|
|
c_73387.tag = closureN_tag;
|
|
c_73387.fn = __lambda_54;
|
|
c_73387.num_elt = 2;
|
|
c_73387.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73387.elts[0] = ((closureN)self_73145)->elts[0];
|
|
c_73387.elts[1] = ((closureN)self_73145)->elts[1];
|
|
|
|
|
|
make_string(c_73393, "\n");
|
|
return_funcall1((closure)&c_73387, Cyc_display(&c_73393));;
|
|
}
|
|
|
|
static void __lambda_54(int argc, object self_73146, object r_7392) {
|
|
return_funcall2( ((closureN)self_73146)->elts[0], ((closureN)self_73146)->elts[1], boolean_t);;
|
|
}
|
|
|
|
static void __lambda_53(int argc, object self_73147, object k_7393) {
|
|
|
|
closureN_type c_73361;
|
|
c_73361.tag = closureN_tag;
|
|
c_73361.fn = __lambda_52;
|
|
c_73361.num_elt = 2;
|
|
c_73361.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73361.elts[0] = k_7393;
|
|
c_73361.elts[1] = ((closureN)self_73147)->elts[0];
|
|
|
|
return_funcall1((closure)&c_73361, Cyc_is_cons(((closureN)self_73147)->elts[0]));;
|
|
}
|
|
|
|
static void __lambda_52(int argc, object self_73148, object r_7394) {
|
|
if( !eq(boolean_f, r_7394) ){
|
|
|
|
closureN_type c_73363;
|
|
c_73363.tag = closureN_tag;
|
|
c_73363.fn = __lambda_49;
|
|
c_73363.num_elt = 2;
|
|
c_73363.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73363.elts[0] = ((closureN)self_73148)->elts[0];
|
|
c_73363.elts[1] = ((closureN)self_73148)->elts[1];
|
|
|
|
|
|
mclosure0(c_73367, (function_type)__lambda_51);
|
|
return_funcall1((closure)&c_73363, &c_73367);
|
|
} else {
|
|
return_funcall1( ((closureN)self_73148)->elts[0], Cyc_display(((closureN)self_73148)->elts[1]));}
|
|
;
|
|
}
|
|
|
|
static void __lambda_51(int argc, object self_73149, object k_7396, object o_7320) {
|
|
|
|
closureN_type c_73369;
|
|
c_73369.tag = closureN_tag;
|
|
c_73369.fn = __lambda_50;
|
|
c_73369.num_elt = 1;
|
|
c_73369.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73369.elts[0] = k_7396;
|
|
|
|
return_funcall1((closure)&c_73369, Cyc_display(o_7320));;
|
|
}
|
|
|
|
static void __lambda_50(int argc, object self_73150, object r_7397) {
|
|
|
|
make_string(c_73374, " ");
|
|
return_funcall1( ((closureN)self_73150)->elts[0], Cyc_display(&c_73374));;
|
|
}
|
|
|
|
static void __lambda_49(int argc, object self_73151, object r_7395) {
|
|
return_funcall3( __glo_for_91each, ((closureN)self_73151)->elts[0], r_7395, ((closureN)self_73151)->elts[1]);;
|
|
}
|
|
|
|
static void __lambda_48(int argc, object self_73152, object r_7386) {
|
|
|
|
closureN_type c_73342;
|
|
c_73342.tag = closureN_tag;
|
|
c_73342.fn = __lambda_46;
|
|
c_73342.num_elt = 3;
|
|
c_73342.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73342.elts[0] = ((closureN)self_73152)->elts[0];
|
|
c_73342.elts[1] = ((closureN)self_73152)->elts[1];
|
|
c_73342.elts[2] = r_7386;
|
|
|
|
|
|
mclosure0(c_73353, (function_type)__lambda_47);
|
|
return_funcall1((closure)&c_73342, &c_73353);;
|
|
}
|
|
|
|
static void __lambda_47(int argc, object self_73153, object k_7388) {
|
|
return_funcall1( __glo_repl, k_7388);;
|
|
}
|
|
|
|
static void __lambda_46(int argc, object self_73154, object r_7387) {
|
|
|
|
closureN_type c_73344;
|
|
c_73344.tag = closureN_tag;
|
|
c_73344.fn = __lambda_45;
|
|
c_73344.num_elt = 2;
|
|
c_73344.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73344.elts[0] = ((closureN)self_73154)->elts[0];
|
|
c_73344.elts[1] = ((closureN)self_73154)->elts[1];
|
|
|
|
return_funcall3( __glo_with_91exception_91handler, &c_73344, ((closureN)self_73154)->elts[2], r_7387);;
|
|
}
|
|
|
|
static void __lambda_45(int argc, object self_73155, object r_7385) {
|
|
|
|
closureN_type c_73346;
|
|
c_73346.tag = closureN_tag;
|
|
c_73346.fn = __lambda_44;
|
|
c_73346.num_elt = 1;
|
|
c_73346.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73346.elts[0] = ((closureN)self_73155)->elts[0];
|
|
|
|
return_funcall3( __glo__list, &c_73346, ((closureN)self_73155)->elts[1], r_7385);;
|
|
}
|
|
|
|
static void __lambda_44(int argc, object self_73156, object r_7383) {
|
|
return_funcall1( ((closureN)self_73156)->elts[0], Cyc_write(r_7383));;
|
|
}
|
|
|
|
static void __lambda_43(int argc, object self_73157, object r_7381) {
|
|
return_funcall2( __glo_call_95cc, ((closureN)self_73157)->elts[0], r_7381);;
|
|
}
|
|
|
|
static void __lambda_42(int argc, closure _,object k_7377, object exp_7316, object env_7317, ...) {
|
|
load_varargs(env_7317, argc - 2);
|
|
return_funcall1( k_7377, exp_7316);;
|
|
}
|
|
|
|
static void __lambda_41(int argc, closure _,object k_7371) {
|
|
|
|
closureN_type c_73314;
|
|
c_73314.tag = closureN_tag;
|
|
c_73314.fn = __lambda_40;
|
|
c_73314.num_elt = 1;
|
|
c_73314.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73314.elts[0] = k_7371;
|
|
|
|
return_funcall1((closure)&c_73314, Cyc_is_null(__glo__85exception_91handler_91stack_85));;
|
|
}
|
|
|
|
static void __lambda_40(int argc, object self_73138, object r_7374) {
|
|
|
|
closureN_type c_73316;
|
|
c_73316.tag = closureN_tag;
|
|
c_73316.fn = __lambda_39;
|
|
c_73316.num_elt = 1;
|
|
c_73316.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73316.elts[0] = ((closureN)self_73138)->elts[0];
|
|
|
|
return_funcall2( __glo_not, &c_73316, r_7374);;
|
|
}
|
|
|
|
static void __lambda_39(int argc, object self_73139, object r_7372) {
|
|
if( !eq(boolean_f, r_7372) ){
|
|
|
|
closureN_type c_73318;
|
|
c_73318.tag = closureN_tag;
|
|
c_73318.fn = __lambda_38;
|
|
c_73318.num_elt = 1;
|
|
c_73318.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73318.elts[0] = ((closureN)self_73139)->elts[0];
|
|
|
|
return_funcall1((closure)&c_73318, cdr(__glo__85exception_91handler_91stack_85));
|
|
} else {
|
|
return_funcall1( ((closureN)self_73139)->elts[0], boolean_f);}
|
|
;
|
|
}
|
|
|
|
static void __lambda_38(int argc, object self_73140, object r_7373) {
|
|
return_funcall1( ((closureN)self_73140)->elts[0], global_set(__glo__85exception_91handler_91stack_85, r_7373));;
|
|
}
|
|
|
|
static void __lambda_37(int argc, closure _,object k_7367, object h_7315) {
|
|
|
|
closureN_type c_73304;
|
|
c_73304.tag = closureN_tag;
|
|
c_73304.fn = __lambda_36;
|
|
c_73304.num_elt = 1;
|
|
c_73304.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73304.elts[0] = k_7367;
|
|
|
|
|
|
make_cons(c_73311,h_7315, __glo__85exception_91handler_91stack_85);
|
|
return_funcall1((closure)&c_73304, &c_73311);;
|
|
}
|
|
|
|
static void __lambda_36(int argc, object self_73137, object r_7368) {
|
|
return_funcall1( ((closureN)self_73137)->elts[0], global_set(__glo__85exception_91handler_91stack_85, r_7368));;
|
|
}
|
|
|
|
static void __lambda_35(int argc, closure _,object k_7347, object handler_738, object thunk_739) {
|
|
|
|
closureN_type c_73222;
|
|
c_73222.tag = closureN_tag;
|
|
c_73222.fn = __lambda_22;
|
|
c_73222.num_elt = 2;
|
|
c_73222.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73222.elts[0] = k_7347;
|
|
c_73222.elts[1] = thunk_739;
|
|
|
|
|
|
closureN_type c_73248;
|
|
c_73248.tag = closureN_tag;
|
|
c_73248.fn = __lambda_34;
|
|
c_73248.num_elt = 1;
|
|
c_73248.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73248.elts[0] = handler_738;
|
|
|
|
return_funcall1((closure)&c_73222, &c_73248);;
|
|
}
|
|
|
|
static void __lambda_34(int argc, object self_73118, object k_7353, object obj_7312) {
|
|
|
|
closureN_type c_73250;
|
|
c_73250.tag = closureN_tag;
|
|
c_73250.fn = __lambda_26;
|
|
c_73250.num_elt = 1;
|
|
c_73250.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73250.elts[0] = obj_7312;
|
|
|
|
|
|
closureN_type c_73270;
|
|
c_73270.tag = closureN_tag;
|
|
c_73270.fn = __lambda_33;
|
|
c_73270.num_elt = 3;
|
|
c_73270.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73270.elts[0] = ((closureN)self_73118)->elts[0];
|
|
c_73270.elts[1] = k_7353;
|
|
c_73270.elts[2] = obj_7312;
|
|
|
|
return_funcall1((closure)&c_73250, &c_73270);;
|
|
}
|
|
|
|
static void __lambda_33(int argc, object self_73119, object r_7354) {
|
|
|
|
closureN_type c_73272;
|
|
c_73272.tag = closureN_tag;
|
|
c_73272.fn = __lambda_32;
|
|
c_73272.num_elt = 3;
|
|
c_73272.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73272.elts[0] = ((closureN)self_73119)->elts[0];
|
|
c_73272.elts[1] = ((closureN)self_73119)->elts[1];
|
|
c_73272.elts[2] = ((closureN)self_73119)->elts[2];
|
|
|
|
return_funcall2((closure)&c_73272, boolean_f, r_7354);;
|
|
}
|
|
|
|
static void __lambda_32(int argc, object self_73120, object result_7313, object continuable_127_7314) {
|
|
|
|
closureN_type c_73274;
|
|
c_73274.tag = closureN_tag;
|
|
c_73274.fn = __lambda_31;
|
|
c_73274.num_elt = 4;
|
|
c_73274.elts = (object *)alloca(sizeof(object) * 4);
|
|
c_73274.elts[0] = continuable_127_7314;
|
|
c_73274.elts[1] = ((closureN)self_73120)->elts[0];
|
|
c_73274.elts[2] = ((closureN)self_73120)->elts[1];
|
|
c_73274.elts[3] = ((closureN)self_73120)->elts[2];
|
|
|
|
|
|
make_cell(c_73301,result_7313);
|
|
return_funcall1((closure)&c_73274, &c_73301);;
|
|
}
|
|
|
|
static void __lambda_31(int argc, object self_73121, object result_7313) {
|
|
|
|
closureN_type c_73276;
|
|
c_73276.tag = closureN_tag;
|
|
c_73276.fn = __lambda_30;
|
|
c_73276.num_elt = 5;
|
|
c_73276.elts = (object *)alloca(sizeof(object) * 5);
|
|
c_73276.elts[0] = ((closureN)self_73121)->elts[0];
|
|
c_73276.elts[1] = ((closureN)self_73121)->elts[1];
|
|
c_73276.elts[2] = ((closureN)self_73121)->elts[2];
|
|
c_73276.elts[3] = ((closureN)self_73121)->elts[3];
|
|
c_73276.elts[4] = result_7313;
|
|
|
|
return_funcall1( __glo_Cyc_91remove_91exception_91handler, &c_73276);;
|
|
}
|
|
|
|
static void __lambda_30(int argc, object self_73122, object r_7355) {
|
|
|
|
closureN_type c_73278;
|
|
c_73278.tag = closureN_tag;
|
|
c_73278.fn = __lambda_29;
|
|
c_73278.num_elt = 4;
|
|
c_73278.elts = (object *)alloca(sizeof(object) * 4);
|
|
c_73278.elts[0] = ((closureN)self_73122)->elts[0];
|
|
c_73278.elts[1] = ((closureN)self_73122)->elts[1];
|
|
c_73278.elts[2] = ((closureN)self_73122)->elts[2];
|
|
c_73278.elts[3] = ((closureN)self_73122)->elts[4];
|
|
|
|
return_funcall1((closure)&c_73278, cadr(((closureN)self_73122)->elts[3]));;
|
|
}
|
|
|
|
static void __lambda_29(int argc, object self_73123, object r_7358) {
|
|
|
|
closureN_type c_73281;
|
|
c_73281.tag = closureN_tag;
|
|
c_73281.fn = __lambda_28;
|
|
c_73281.num_elt = 3;
|
|
c_73281.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73281.elts[0] = ((closureN)self_73123)->elts[0];
|
|
c_73281.elts[1] = ((closureN)self_73123)->elts[2];
|
|
c_73281.elts[2] = ((closureN)self_73123)->elts[3];
|
|
|
|
return_funcall2( ((closureN)self_73123)->elts[1], &c_73281, r_7358);;
|
|
}
|
|
|
|
static void __lambda_28(int argc, object self_73124, object r_7357) {
|
|
|
|
closureN_type c_73283;
|
|
c_73283.tag = closureN_tag;
|
|
c_73283.fn = __lambda_27;
|
|
c_73283.num_elt = 3;
|
|
c_73283.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73283.elts[0] = ((closureN)self_73124)->elts[0];
|
|
c_73283.elts[1] = ((closureN)self_73124)->elts[1];
|
|
c_73283.elts[2] = ((closureN)self_73124)->elts[2];
|
|
|
|
return_funcall1((closure)&c_73283, Cyc_set_car(((closureN)self_73124)->elts[2], r_7357));;
|
|
}
|
|
|
|
static void __lambda_27(int argc, object self_73125, object r_7356) {
|
|
if( !eq(boolean_f, ((closureN)self_73125)->elts[0]) ){
|
|
return_funcall1( ((closureN)self_73125)->elts[1], cell_get(((closureN)self_73125)->elts[2]));
|
|
} else {
|
|
|
|
make_string(c_73292, "exception handler returned");
|
|
return_funcall2( __glo_error, ((closureN)self_73125)->elts[1], &c_73292);}
|
|
;
|
|
}
|
|
|
|
static void __lambda_26(int argc, object self_73126, object k_7359) {
|
|
|
|
closureN_type c_73252;
|
|
c_73252.tag = closureN_tag;
|
|
c_73252.fn = __lambda_25;
|
|
c_73252.num_elt = 2;
|
|
c_73252.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73252.elts[0] = k_7359;
|
|
c_73252.elts[1] = ((closureN)self_73126)->elts[0];
|
|
|
|
return_funcall1((closure)&c_73252, Cyc_is_cons(((closureN)self_73126)->elts[0]));;
|
|
}
|
|
|
|
static void __lambda_25(int argc, object self_73127, object r_7360) {
|
|
if( !eq(boolean_f, r_7360) ){
|
|
|
|
closureN_type c_73254;
|
|
c_73254.tag = closureN_tag;
|
|
c_73254.fn = __lambda_24;
|
|
c_73254.num_elt = 1;
|
|
c_73254.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73254.elts[0] = ((closureN)self_73127)->elts[0];
|
|
|
|
return_funcall1((closure)&c_73254, car(((closureN)self_73127)->elts[1]));
|
|
} else {
|
|
return_funcall1( ((closureN)self_73127)->elts[0], boolean_f);}
|
|
;
|
|
}
|
|
|
|
static void __lambda_24(int argc, object self_73128, object r_7361) {
|
|
|
|
closureN_type c_73256;
|
|
c_73256.tag = closureN_tag;
|
|
c_73256.fn = __lambda_23;
|
|
c_73256.num_elt = 2;
|
|
c_73256.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73256.elts[0] = ((closureN)self_73128)->elts[0];
|
|
c_73256.elts[1] = r_7361;
|
|
|
|
return_funcall1((closure)&c_73256, quote_continuable);;
|
|
}
|
|
|
|
static void __lambda_23(int argc, object self_73129, object r_7362) {
|
|
return_funcall1( ((closureN)self_73129)->elts[0], equalp(((closureN)self_73129)->elts[1], r_7362));;
|
|
}
|
|
|
|
static void __lambda_22(int argc, object self_73130, object r_7348) {
|
|
|
|
closureN_type c_73224;
|
|
c_73224.tag = closureN_tag;
|
|
c_73224.fn = __lambda_21;
|
|
c_73224.num_elt = 2;
|
|
c_73224.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73224.elts[0] = ((closureN)self_73130)->elts[0];
|
|
c_73224.elts[1] = ((closureN)self_73130)->elts[1];
|
|
|
|
return_funcall2((closure)&c_73224, boolean_f, r_7348);;
|
|
}
|
|
|
|
static void __lambda_21(int argc, object self_73131, object result_7310, object my_91handler_7311) {
|
|
|
|
closureN_type c_73226;
|
|
c_73226.tag = closureN_tag;
|
|
c_73226.fn = __lambda_20;
|
|
c_73226.num_elt = 3;
|
|
c_73226.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73226.elts[0] = ((closureN)self_73131)->elts[0];
|
|
c_73226.elts[1] = my_91handler_7311;
|
|
c_73226.elts[2] = ((closureN)self_73131)->elts[1];
|
|
|
|
|
|
make_cell(c_73247,result_7310);
|
|
return_funcall1((closure)&c_73226, &c_73247);;
|
|
}
|
|
|
|
static void __lambda_20(int argc, object self_73132, object result_7310) {
|
|
|
|
closureN_type c_73228;
|
|
c_73228.tag = closureN_tag;
|
|
c_73228.fn = __lambda_19;
|
|
c_73228.num_elt = 3;
|
|
c_73228.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73228.elts[0] = ((closureN)self_73132)->elts[0];
|
|
c_73228.elts[1] = result_7310;
|
|
c_73228.elts[2] = ((closureN)self_73132)->elts[2];
|
|
|
|
return_funcall2( __glo_Cyc_91add_91exception_91handler, &c_73228, ((closureN)self_73132)->elts[1]);;
|
|
}
|
|
|
|
static void __lambda_19(int argc, object self_73133, object r_7349) {
|
|
|
|
closureN_type c_73231;
|
|
c_73231.tag = closureN_tag;
|
|
c_73231.fn = __lambda_18;
|
|
c_73231.num_elt = 2;
|
|
c_73231.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73231.elts[0] = ((closureN)self_73133)->elts[0];
|
|
c_73231.elts[1] = ((closureN)self_73133)->elts[1];
|
|
|
|
return_funcall1( ((closureN)self_73133)->elts[2], &c_73231);;
|
|
}
|
|
|
|
static void __lambda_18(int argc, object self_73134, object r_7352) {
|
|
|
|
closureN_type c_73233;
|
|
c_73233.tag = closureN_tag;
|
|
c_73233.fn = __lambda_17;
|
|
c_73233.num_elt = 2;
|
|
c_73233.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73233.elts[0] = ((closureN)self_73134)->elts[0];
|
|
c_73233.elts[1] = ((closureN)self_73134)->elts[1];
|
|
|
|
return_funcall1((closure)&c_73233, Cyc_set_car(((closureN)self_73134)->elts[1], r_7352));;
|
|
}
|
|
|
|
static void __lambda_17(int argc, object self_73135, object r_7350) {
|
|
|
|
closureN_type c_73235;
|
|
c_73235.tag = closureN_tag;
|
|
c_73235.fn = __lambda_16;
|
|
c_73235.num_elt = 2;
|
|
c_73235.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73235.elts[0] = ((closureN)self_73135)->elts[0];
|
|
c_73235.elts[1] = ((closureN)self_73135)->elts[1];
|
|
|
|
return_funcall1( __glo_Cyc_91remove_91exception_91handler, &c_73235);;
|
|
}
|
|
|
|
static void __lambda_16(int argc, object self_73136, object r_7351) {
|
|
return_funcall1( ((closureN)self_73136)->elts[0], cell_get(((closureN)self_73136)->elts[1]));;
|
|
}
|
|
|
|
static void __lambda_15(int argc, closure _,object k_7341, object obj_737) {
|
|
|
|
closureN_type c_73209;
|
|
c_73209.tag = closureN_tag;
|
|
c_73209.fn = __lambda_14;
|
|
c_73209.num_elt = 2;
|
|
c_73209.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73209.elts[0] = k_7341;
|
|
c_73209.elts[1] = obj_737;
|
|
|
|
return_funcall1((closure)&c_73209, Cyc_current_exception_handler());;
|
|
}
|
|
|
|
static void __lambda_14(int argc, object self_73115, object r_7342) {
|
|
|
|
closureN_type c_73211;
|
|
c_73211.tag = closureN_tag;
|
|
c_73211.fn = __lambda_13;
|
|
c_73211.num_elt = 3;
|
|
c_73211.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73211.elts[0] = ((closureN)self_73115)->elts[0];
|
|
c_73211.elts[1] = ((closureN)self_73115)->elts[1];
|
|
c_73211.elts[2] = r_7342;
|
|
|
|
return_funcall1((closure)&c_73211, quote_raised);;
|
|
}
|
|
|
|
static void __lambda_13(int argc, object self_73116, object r_7344) {
|
|
|
|
closureN_type c_73213;
|
|
c_73213.tag = closureN_tag;
|
|
c_73213.fn = __lambda_12;
|
|
c_73213.num_elt = 2;
|
|
c_73213.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73213.elts[0] = ((closureN)self_73116)->elts[0];
|
|
c_73213.elts[1] = ((closureN)self_73116)->elts[2];
|
|
|
|
return_funcall3( __glo__list, &c_73213, r_7344, ((closureN)self_73116)->elts[1]);;
|
|
}
|
|
|
|
static void __lambda_12(int argc, object self_73117, object r_7343) {
|
|
return_funcall2( ((closureN)self_73117)->elts[1], ((closureN)self_73117)->elts[0], r_7343);;
|
|
}
|
|
|
|
static void __lambda_11(int argc, closure _,object k_7337, object msg_735, object args_736, ...) {
|
|
load_varargs(args_736, argc - 2);
|
|
|
|
closureN_type c_73201;
|
|
c_73201.tag = closureN_tag;
|
|
c_73201.fn = __lambda_10;
|
|
c_73201.num_elt = 1;
|
|
c_73201.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73201.elts[0] = k_7337;
|
|
|
|
|
|
make_cons(c_73206,msg_735, args_736);
|
|
return_funcall1((closure)&c_73201, &c_73206);;
|
|
}
|
|
|
|
static void __lambda_10(int argc, object self_73114, object r_7338) {
|
|
return_funcall2( __glo_raise, ((closureN)self_73114)->elts[0], r_7338);;
|
|
}
|
|
|
|
static void __lambda_9(int argc, closure _,object k_7330, object f_733, object lst_734) {
|
|
|
|
closureN_type c_73176;
|
|
c_73176.tag = closureN_tag;
|
|
c_73176.fn = __lambda_8;
|
|
c_73176.num_elt = 3;
|
|
c_73176.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73176.elts[0] = f_733;
|
|
c_73176.elts[1] = k_7330;
|
|
c_73176.elts[2] = lst_734;
|
|
|
|
return_funcall1((closure)&c_73176, Cyc_is_null(lst_734));;
|
|
}
|
|
|
|
static void __lambda_8(int argc, object self_73109, object r_7331) {
|
|
if( !eq(boolean_f, r_7331) ){
|
|
return_funcall1( ((closureN)self_73109)->elts[1], boolean_t);
|
|
} else {
|
|
|
|
closureN_type c_73180;
|
|
c_73180.tag = closureN_tag;
|
|
c_73180.fn = __lambda_7;
|
|
c_73180.num_elt = 3;
|
|
c_73180.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73180.elts[0] = ((closureN)self_73109)->elts[0];
|
|
c_73180.elts[1] = ((closureN)self_73109)->elts[1];
|
|
c_73180.elts[2] = ((closureN)self_73109)->elts[2];
|
|
|
|
return_funcall0((closure)&c_73180);}
|
|
;
|
|
}
|
|
|
|
static void __lambda_7(int argc, object self_73110) {
|
|
|
|
closureN_type c_73182;
|
|
c_73182.tag = closureN_tag;
|
|
c_73182.fn = __lambda_6;
|
|
c_73182.num_elt = 3;
|
|
c_73182.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73182.elts[0] = ((closureN)self_73110)->elts[0];
|
|
c_73182.elts[1] = ((closureN)self_73110)->elts[1];
|
|
c_73182.elts[2] = ((closureN)self_73110)->elts[2];
|
|
|
|
return_funcall1((closure)&c_73182, car(((closureN)self_73110)->elts[2]));;
|
|
}
|
|
|
|
static void __lambda_6(int argc, object self_73111, object r_7334) {
|
|
|
|
closureN_type c_73185;
|
|
c_73185.tag = closureN_tag;
|
|
c_73185.fn = __lambda_5;
|
|
c_73185.num_elt = 3;
|
|
c_73185.elts = (object *)alloca(sizeof(object) * 3);
|
|
c_73185.elts[0] = ((closureN)self_73111)->elts[0];
|
|
c_73185.elts[1] = ((closureN)self_73111)->elts[1];
|
|
c_73185.elts[2] = ((closureN)self_73111)->elts[2];
|
|
|
|
return_funcall2( ((closureN)self_73111)->elts[0], &c_73185, r_7334);;
|
|
}
|
|
|
|
static void __lambda_5(int argc, object self_73112, object r_7332) {
|
|
|
|
closureN_type c_73187;
|
|
c_73187.tag = closureN_tag;
|
|
c_73187.fn = __lambda_4;
|
|
c_73187.num_elt = 2;
|
|
c_73187.elts = (object *)alloca(sizeof(object) * 2);
|
|
c_73187.elts[0] = ((closureN)self_73112)->elts[0];
|
|
c_73187.elts[1] = ((closureN)self_73112)->elts[1];
|
|
|
|
return_funcall1((closure)&c_73187, cdr(((closureN)self_73112)->elts[2]));;
|
|
}
|
|
|
|
static void __lambda_4(int argc, object self_73113, object r_7333) {
|
|
return_funcall3( __glo_for_91each, ((closureN)self_73113)->elts[1], ((closureN)self_73113)->elts[0], r_7333);;
|
|
}
|
|
|
|
static void __lambda_3(int argc, closure _,object k_7327, object objs_732, ...) {
|
|
load_varargs(objs_732, argc - 1);
|
|
return_funcall1( k_7327, objs_732);;
|
|
}
|
|
|
|
static void __lambda_2(int argc, closure _,object k_7324, object x_731) {
|
|
printf("debug(2) - ");
|
|
Cyc_display(((closureN)k_7324)->elts[1]);
|
|
printf("\n");
|
|
if( !eq(boolean_f, x_731) ){
|
|
return_funcall1( k_7324, boolean_f);
|
|
} else {
|
|
return_funcall1( k_7324, boolean_t);}
|
|
;
|
|
}
|
|
|
|
static void __lambda_1(int argc, closure _,object k, object f) {
|
|
|
|
closureN_type c_73166;
|
|
c_73166.tag = closureN_tag;
|
|
c_73166.fn = __lambda_0;
|
|
c_73166.num_elt = 1;
|
|
c_73166.elts = (object *)alloca(sizeof(object) * 1);
|
|
c_73166.elts[0] = k;
|
|
|
|
return_funcall2( f, k, &c_73166);;
|
|
}
|
|
|
|
static void __lambda_0(int argc, object self_73108, object _191, object result) {
|
|
return_funcall1( ((closureN)self_73108)->elts[0], result);;
|
|
}
|
|
|
|
|
|
static void c_entry_pt(argc, env,cont) int argc; closure env,cont; {
|
|
add_symbol(quote_done);
|
|
add_symbol(quote_result);
|
|
add_symbol(quote_continuable);
|
|
add_symbol(quote_raised);
|
|
mclosure0(c_73397, (function_type)__lambda_67);
|
|
__glo_repl = &c_73397;
|
|
mclosure0(c_73331, (function_type)__lambda_60);
|
|
__glo_test = &c_73331;
|
|
mclosure0(c_73329, (function_type)__lambda_42);
|
|
__glo_eval2 = &c_73329;
|
|
mclosure0(c_73312, (function_type)__lambda_41);
|
|
__glo_Cyc_91remove_91exception_91handler = &c_73312;
|
|
mclosure0(c_73302, (function_type)__lambda_37);
|
|
__glo_Cyc_91add_91exception_91handler = &c_73302;
|
|
mclosure0(c_73220, (function_type)__lambda_35);
|
|
__glo_with_91exception_91handler = &c_73220;
|
|
mclosure0(c_73207, (function_type)__lambda_15);
|
|
__glo_raise = &c_73207;
|
|
mclosure0(c_73199, (function_type)__lambda_11);
|
|
__glo_error = &c_73199;
|
|
mclosure0(c_73174, (function_type)__lambda_9);
|
|
__glo_for_91each = &c_73174;
|
|
mclosure0(c_73172, (function_type)__lambda_3);
|
|
__glo__list = &c_73172;
|
|
mclosure0(c_73169, (function_type)__lambda_2);
|
|
__glo_not = &c_73169;
|
|
mclosure0(c_73164, (function_type)__lambda_1);
|
|
__glo_call_95cc = &c_73164;
|
|
__glo__85exception_91handler_91stack_85 = boolean_f;
|
|
|
|
make_cvar(cvar_73431, (object *)&__glo_repl);make_cons(pair_73432, find_or_add_symbol("repl"), &cvar_73431);
|
|
make_cvar(cvar_73433, (object *)&__glo_test);make_cons(pair_73434, find_or_add_symbol("test"), &cvar_73433);
|
|
make_cvar(cvar_73435, (object *)&__glo_eval2);make_cons(pair_73436, find_or_add_symbol("eval2"), &cvar_73435);
|
|
make_cvar(cvar_73437, (object *)&__glo_Cyc_91remove_91exception_91handler);make_cons(pair_73438, find_or_add_symbol("Cyc-remove-exception-handler"), &cvar_73437);
|
|
make_cvar(cvar_73439, (object *)&__glo_Cyc_91add_91exception_91handler);make_cons(pair_73440, find_or_add_symbol("Cyc-add-exception-handler"), &cvar_73439);
|
|
make_cvar(cvar_73441, (object *)&__glo__85exception_91handler_91stack_85);make_cons(pair_73442, find_or_add_symbol("*exception-handler-stack*"), &cvar_73441);
|
|
make_cvar(cvar_73443, (object *)&__glo_with_91exception_91handler);make_cons(pair_73444, find_or_add_symbol("with-exception-handler"), &cvar_73443);
|
|
make_cvar(cvar_73445, (object *)&__glo_raise);make_cons(pair_73446, find_or_add_symbol("raise"), &cvar_73445);
|
|
make_cvar(cvar_73447, (object *)&__glo_error);make_cons(pair_73448, find_or_add_symbol("error"), &cvar_73447);
|
|
make_cvar(cvar_73449, (object *)&__glo_for_91each);make_cons(pair_73450, find_or_add_symbol("for-each"), &cvar_73449);
|
|
make_cvar(cvar_73451, (object *)&__glo__list);make_cons(pair_73452, find_or_add_symbol("list"), &cvar_73451);
|
|
make_cvar(cvar_73453, (object *)&__glo_not);make_cons(pair_73454, find_or_add_symbol("not"), &cvar_73453);
|
|
make_cvar(cvar_73455, (object *)&__glo_call_95cc);make_cons(pair_73456, find_or_add_symbol("call/cc"), &cvar_73455);
|
|
make_cons(c_73469, &pair_73432,nil);
|
|
make_cons(c_73468, &pair_73434, &c_73469);
|
|
make_cons(c_73467, &pair_73436, &c_73468);
|
|
make_cons(c_73466, &pair_73438, &c_73467);
|
|
make_cons(c_73465, &pair_73440, &c_73466);
|
|
make_cons(c_73464, &pair_73442, &c_73465);
|
|
make_cons(c_73463, &pair_73444, &c_73464);
|
|
make_cons(c_73462, &pair_73446, &c_73463);
|
|
make_cons(c_73461, &pair_73448, &c_73462);
|
|
make_cons(c_73460, &pair_73450, &c_73461);
|
|
make_cons(c_73459, &pair_73452, &c_73460);
|
|
make_cons(c_73458, &pair_73454, &c_73459);
|
|
make_cons(c_73457, &pair_73456, &c_73458);
|
|
Cyc_global_variables = &c_73457;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return_check0(__lambda_70);
|
|
}
|
|
main(int argc,char **argv)
|
|
{long stack_size = long_arg(argc,argv,"-s",STACK_SIZE);
|
|
long heap_size = long_arg(argc,argv,"-h",HEAP_SIZE);
|
|
global_stack_size = stack_size;
|
|
global_heap_size = heap_size;
|
|
main_main(stack_size,heap_size,(char *) &stack_size);
|
|
return 0;}
|