mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 17:20:29 +02:00
Get rid of comments and dead branches
This commit is contained in:
parent
54ce470cf8
commit
d1a663baec
4 changed files with 7 additions and 29 deletions
|
@ -16,7 +16,6 @@
|
|||
;; first-order optimization should go here
|
||||
(set! exp (reify-primitives exp))
|
||||
(set! exp (renumber exp))
|
||||
;; (values exp env env)
|
||||
(match exp
|
||||
(($ $program funs)
|
||||
;; TODO: I should special case the compilation for the initial fun,
|
||||
|
@ -27,16 +26,12 @@
|
|||
(values (make-program (compile-fun (car funs))
|
||||
(map compile-fun (cdr funs)))
|
||||
env
|
||||
env)))
|
||||
)
|
||||
env))))
|
||||
|
||||
(define (compile-fun fun)
|
||||
;; meta
|
||||
(match fun
|
||||
(($ $cont k ($ $kfun src meta self ($ $cont tail ($ $ktail)) clause))
|
||||
(make-var k (compile-clause clause self tail)))
|
||||
(_
|
||||
`(fun:todo: ,fun))))
|
||||
(make-var k (compile-clause clause self tail)))))
|
||||
|
||||
(define (compile-clause clause self tail)
|
||||
(match clause
|
||||
|
@ -58,9 +53,7 @@
|
|||
(compile-term exp))
|
||||
(($ $cont k _)
|
||||
(make-local (list (compile-cont body))
|
||||
(make-continue k (map make-id req)))))))
|
||||
(_
|
||||
`(clause:todo: ,clause))))
|
||||
(make-continue k (map make-id req)))))))))
|
||||
|
||||
(define (not-supported msg clause)
|
||||
(error 'not-supported msg clause))
|
||||
|
@ -115,9 +108,7 @@
|
|||
;; FIXME:
|
||||
;; may happen if a test branch of a conditional compiles to values
|
||||
;; placeholder till I learn if multiple values could be returned.
|
||||
(make-id val))
|
||||
(_
|
||||
`(exp:todo: ,exp))))
|
||||
(make-id val))))
|
||||
|
||||
(define (compile-test exp kt kf)
|
||||
;; TODO: find out if the expression is always simple enough that I
|
||||
|
|
|
@ -182,9 +182,3 @@
|
|||
(display separator port)
|
||||
(printer x port))
|
||||
rest))))
|
||||
|
||||
(define (print-terminated args printer terminator port)
|
||||
(for-each (lambda (x)
|
||||
(printer x port)
|
||||
(display terminator port))
|
||||
args))
|
||||
|
|
|
@ -7,13 +7,12 @@
|
|||
make-continuation continuation
|
||||
make-local local
|
||||
make-var var
|
||||
make-continue continue ; differ from conts
|
||||
make-continue continue
|
||||
make-const const
|
||||
make-primcall primcall
|
||||
make-call call
|
||||
make-closure closure
|
||||
make-branch branch
|
||||
; print-js
|
||||
make-return return
|
||||
make-id id
|
||||
))
|
||||
|
@ -78,7 +77,6 @@
|
|||
`(continue ,k ,(map unparse-js args)))
|
||||
(($ branch test then else)
|
||||
`(if ,(unparse-js test) ,(unparse-js then) ,(unparse-js else)))
|
||||
;; values
|
||||
(($ const c)
|
||||
`(const ,c))
|
||||
(($ primcall name args)
|
||||
|
@ -90,8 +88,4 @@
|
|||
(($ return val)
|
||||
`(return . ,(unparse-js val)))
|
||||
(($ id name)
|
||||
`(id . ,name))
|
||||
(_
|
||||
;(error "unexpected js" exp)
|
||||
(pk 'unexpected exp)
|
||||
exp)))
|
||||
`(id . ,name))))
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
(define-module (language js-il spec)
|
||||
#:use-module (system base language)
|
||||
; #:use-module (language js-il)
|
||||
#:use-module (language js-il compile-javascript)
|
||||
#:export (js-il))
|
||||
|
||||
|
@ -8,5 +7,5 @@
|
|||
#:title "Javascript Intermediate Language"
|
||||
#:reader #f
|
||||
#:compilers `((javascript . ,compile-javascript))
|
||||
#:printer #f ; print-js
|
||||
#:printer #f
|
||||
#:for-humans? #f)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue