mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-14 07:30:32 +02:00
new language: tree-il. psyntax generates it when run in compile mode.
* module/Makefile.am: Add tree-il sources. * module/ice-9/compile-psyntax.scm: Adjust for sc-expand producing tree-il in compile mode. * module/ice-9/psyntax.scm: Switch from expand-support to tree-il for generating output in compile mode. Completely generate tree-il -- the output wasn't Scheme before, but now it's completely not Scheme. * module/ice-9/psyntax-pp.scm: Regenerated. * module/language/scheme/compile-ghil.scm: Strip structures using tree-il, not expand-support. * module/language/tree-il.scm: * module/language/tree-il/spec.scm * module/language/tree-il/compile-glil.scm: New language. It will compile to GLIL, though it doesn't yet.
This commit is contained in:
parent
1aeb082b82
commit
811d10f5a2
8 changed files with 1024 additions and 111 deletions
|
@ -27,7 +27,7 @@
|
|||
#:use-module (system vm objcode)
|
||||
#:use-module (ice-9 receive)
|
||||
#:use-module (ice-9 optargs)
|
||||
#:use-module (ice-9 expand-support)
|
||||
#:use-module (language tree-il)
|
||||
#:use-module ((system base compile) #:select (syntax-error))
|
||||
#:export (compile-ghil translate-1
|
||||
*translate-table* define-scheme-translator))
|
||||
|
@ -70,7 +70,7 @@
|
|||
(and=> (cenv-module e) set-current-module)
|
||||
(call-with-ghil-environment (cenv-ghil-env e) '()
|
||||
(lambda (env vars)
|
||||
(let ((x (strip-expansion-structures
|
||||
(let ((x (tree-il->scheme
|
||||
(sc-expand x 'c '(compile load eval)))))
|
||||
(let ((x (make-ghil-lambda env #f vars #f '()
|
||||
(translate-1 env #f x)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue