From dca8143b1bcea69f97573a6526defd716c9258bf Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Thu, 18 Mar 2021 22:25:41 -0400 Subject: [PATCH] File no longer needed --- analyze-cc.scm | 110 ------------------------------------------------- 1 file changed, 110 deletions(-) delete mode 100644 analyze-cc.scm diff --git a/analyze-cc.scm b/analyze-cc.scm deleted file mode 100644 index 3fa99abd..00000000 --- a/analyze-cc.scm +++ /dev/null @@ -1,110 +0,0 @@ -(import - (scheme base) - (scheme write) - (cyclone foreign) - (srfi 69) - (scheme cyclone primitives) - (scheme cyclone transforms) - (scheme cyclone ast) - (scheme cyclone cps-optimizations) - (scheme cyclone util) - (scheme cyclone libraries)) - -(define (dump ht) - (for-each - (lambda (ref) - (write ref) - (newline)) - (hash-table-values ht))) - -;;; This function walks over a Closure-converted expression and -;;; builds a table of all variable references. This can be used -;;; to determine with certainty what variables are actually used. -;;; -;;; Returns a hash table where each key/var is a referenced var. -(define (analyze-cc-vars sexp) - (define %ht (make-hash-table)) - - (define (add! ref) - (hash-table-set! %ht ref ref)) - - (define (scan exp) - (cond - ((ast:lambda? exp) - (scan - `(%closure ,exp) - )) - ((const? exp) #f) - ((prim? exp) #f) - ((ref? exp) (add! exp)) - ((quote? exp) #f) - ((if? exp) - (scan (if->condition exp)) - (scan (if->then exp)) - (scan (if->else exp))) - ((tagged-list? '%closure exp) - (let* ((lam (closure->lam exp)) - (body (car (ast:lambda-body lam)))) - (scan body))) - ;; Global definition - ((define? exp) - (scan (car (define->exp exp)))) - ((define-c? exp) - #f) - - ;; Application: - ((app? exp) - (for-each scan exp)) - (else - (error "unknown exp in analyze-cc-vars " exp)))) - - (for-each scan sexp) - %ht) - -(define sexp -'((define char-upcase - (lambda - (k$82 c$1$43) - ((%closure-ref char-lower-case? 0) - char-lower-case? - (%closure - (lambda - (self$196 r$83) - (if r$83 - ((%closure-ref (%closure-ref self$196 2) 0) - (%closure-ref self$196 2) - (integer->char - (Cyc-fast-sub - (char->integer (%closure-ref self$196 1)) - 32))) - ((%closure-ref (%closure-ref self$196 2) 0) - (%closure-ref self$196 2) - (%closure-ref self$196 1)))) - c$1$43 - k$82) - c$1$43))) - (define char-downcase - (lambda - (k$91 c$2$44) - ((%closure-ref char-upper-case? 0) - char-upper-case? - (%closure - (lambda - (self$197 r$92) - (if r$92 - ((%closure-ref (%closure-ref self$197 2) 0) - (%closure-ref self$197 2) - (integer->char - (Cyc-fast-plus - (char->integer (%closure-ref self$197 1)) - 32))) - ((%closure-ref (%closure-ref self$197 2) 0) - (%closure-ref self$197 2) - (%closure-ref self$197 1)))) - c$2$44 - k$91) - c$2$44))) -)) - -(let ((ast (ast:sexp->ast sexp))) - (dump (analyze-cc-vars ast)))