mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
*** empty log message ***
This commit is contained in:
parent
d4ae3ae6fa
commit
9d3903dbed
3 changed files with 9 additions and 4 deletions
|
@ -20,7 +20,6 @@
|
||||||
;; Boston, MA 02111-1307, USA.
|
;; Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
(define-module (language r5rs spec)
|
(define-module (language r5rs spec)
|
||||||
:use-module (system base module)
|
|
||||||
:use-module (system base language)
|
:use-module (system base language)
|
||||||
:use-module (language r5rs expand)
|
:use-module (language r5rs expand)
|
||||||
:use-module (language r5rs translate)
|
:use-module (language r5rs translate)
|
||||||
|
@ -33,5 +32,5 @@
|
||||||
:expander expand
|
:expander expand
|
||||||
:translator translate
|
:translator translate
|
||||||
:printer write
|
:printer write
|
||||||
:environment (global-ref 'Language::R5RS::core)
|
;; :environment (global-ref 'Language::R5RS::core)
|
||||||
)
|
)
|
||||||
|
|
|
@ -26,6 +26,9 @@
|
||||||
|
|
||||||
(define (trans x) (if (pair? x) (trans-pair x) x))
|
(define (trans x) (if (pair? x) (trans-pair x) x))
|
||||||
|
|
||||||
|
(define *primitive-procedure-list*
|
||||||
|
'(void car cdr cons + - * / < >))
|
||||||
|
|
||||||
(define (trans-pair x)
|
(define (trans-pair x)
|
||||||
(let ((name (car x)) (args (cdr x)))
|
(let ((name (car x)) (args (cdr x)))
|
||||||
(let ((il (case name
|
(let ((il (case name
|
||||||
|
@ -41,7 +44,11 @@
|
||||||
((lambda)
|
((lambda)
|
||||||
(cons* '@lambda (trans-formals (car args))
|
(cons* '@lambda (trans-formals (car args))
|
||||||
(map trans (cdr args))))
|
(map trans (cdr args))))
|
||||||
(else (cons (trans name) (map trans args)))))
|
(else
|
||||||
|
(if (memq name *primitive-procedure-list*)
|
||||||
|
;; FIXME: Temporary hack for direct optimization
|
||||||
|
(cons (symbol-append '@ name) (map trans args))
|
||||||
|
(cons (trans name) (map trans args))))))
|
||||||
(props (source-properties x)))
|
(props (source-properties x)))
|
||||||
(if (not (null? props))
|
(if (not (null? props))
|
||||||
(set-source-properties! il props))
|
(set-source-properties! il props))
|
||||||
|
|
|
@ -22,7 +22,6 @@
|
||||||
(define-module (system base language)
|
(define-module (system base language)
|
||||||
:use-module (oop goops)
|
:use-module (oop goops)
|
||||||
:use-syntax (system base syntax)
|
:use-syntax (system base syntax)
|
||||||
:use-module (system base module)
|
|
||||||
:use-module (system il compile)
|
:use-module (system il compile)
|
||||||
:use-module (system vm core)
|
:use-module (system vm core)
|
||||||
:use-module (system vm assemble)
|
:use-module (system vm assemble)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue