Self-hosted version compiles now, but is very broken...

This commit is contained in:
Justin Ethier 2015-07-01 22:58:36 -04:00
parent a6da96ba57
commit f63df9fd12
8 changed files with 26 additions and 11 deletions

View file

@ -21,9 +21,15 @@ scheme/read.o: cyclone scheme/read.sld parser.scm
scheme/write.o: cyclone scheme/write.sld scheme/write.o: cyclone scheme/write.sld
./cyclone scheme/write.sld ./cyclone scheme/write.sld
scheme/cyclone/common.o: scheme/cyclone/common.sld
./cyclone scheme/cyclone/common.sld
scheme/cyclone/util.o: scheme/cyclone/util.sld scheme/cyclone/util.o: scheme/cyclone/util.sld
./cyclone scheme/cyclone/util.sld ./cyclone scheme/cyclone/util.sld
common.so: scheme/cyclone/common.scm
csc -s scheme/cyclone/common.scm
util.so: util.scm util.so: util.scm
csc -s util.scm csc -s util.scm
@ -59,12 +65,13 @@ debug:
debug2: libcyclone.so.1 debug2: libcyclone.so.1
gcc test.c -L. -lcyclone -I. -g -o test gcc test.c -L. -lcyclone -I. -g -o test
cyclone: cyclone.scm transforms.so util.so cgen.so libraries.so parser.so libcyclone.a cyclone: cyclone.scm transforms.so util.so cgen.so libraries.so parser.so common.so libcyclone.a
csc cyclone.scm csc cyclone.scm
#scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld #scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld
.PHONY: self .PHONY: self
self: self:
./cyclone scheme/cyclone/common.sld
./cyclone scheme/cyclone/libraries.sld ./cyclone scheme/cyclone/libraries.sld
./cyclone scheme/cyclone/transforms.sld ./cyclone scheme/cyclone/transforms.sld
./cyclone scheme/cyclone/cgen.sld ./cyclone scheme/cyclone/cgen.sld
@ -96,7 +103,7 @@ test2: examples/hello-library/int-test/hello.c libcyclone.a
## END temporary directives ## END temporary directives
########################### ###########################
icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o scheme/cyclone/util.o icyc: cyclone icyc.scm eval.scm libraries.scm parser.scm runtime.h scheme/base.o scheme/read.o scheme/write.o scheme/char.o scheme/eval.o scheme/file.o scheme/cyclone/util.o scheme/cyclone/common.o
./cyclone icyc.scm ./cyclone icyc.scm
.PHONY: tags .PHONY: tags

View file

@ -10,6 +10,7 @@
; (scheme file) ; (scheme file)
; (scheme read) ; (scheme read)
; (scheme write) ; (scheme write)
; (scheme cyclone common)
; (scheme cyclone util) ; (scheme cyclone util)
; (scheme cyclone cgen) ; (scheme cyclone cgen)
; (scheme cyclone transforms) ; (scheme cyclone transforms)
@ -26,6 +27,7 @@
(require-extension extras) ;; pretty-print (require-extension extras) ;; pretty-print
(require-extension chicken-syntax) ;; when (require-extension chicken-syntax) ;; when
(require-extension srfi-1) ;; every (require-extension srfi-1) ;; every
(load (string-append (cyc:get-lib-dir) "scheme/cyclone/common.so"))
(load (string-append (cyc:get-lib-dir) "parser.so")) (load (string-append (cyc:get-lib-dir) "parser.so"))
(load (string-append (cyc:get-lib-dir) "util.so")) (load (string-append (cyc:get-lib-dir) "util.so"))
(load (string-append (cyc:get-lib-dir) "libraries.so")) (load (string-append (cyc:get-lib-dir) "libraries.so"))

View file

@ -4,7 +4,8 @@
;; ;;
;; This module contains a simple Read-Eval-Print Loop ;; This module contains a simple Read-Eval-Print Loop
;; ;;
(import (scheme base) (import (scheme cyclone common)
(scheme base)
(scheme char) (scheme char)
(scheme read) (scheme read)
(scheme write) (scheme write)

View file

@ -1,8 +1,5 @@
(define-library (scheme base) (define-library (scheme base)
(export (export
*Cyc-version-banner*
*c-file-header-comment*
*version-banner*
; TODO: need filter for the next two. also, they really belong in SRFI-1, not here ; TODO: need filter for the next two. also, they really belong in SRFI-1, not here
;delete ;delete
;delete-duplicates ;delete-duplicates
@ -72,9 +69,7 @@
newline newline
write-char write-char
) )
(include "common.scm")
(begin (begin
(define *Cyc-version-banner* *version-banner*)
;; TODO: The whitespace characters are space, tab, line feed, form feed (not in parser yet), and carriage return. ;; TODO: The whitespace characters are space, tab, line feed, form feed (not in parser yet), and carriage return.
(define call-with-current-continuation call/cc) (define call-with-current-continuation call/cc)
;; TODO: this is from r7rs, but is not really good enough by itself ;; TODO: this is from r7rs, but is not really good enough by itself

10
scheme/cyclone/common.sld Normal file
View file

@ -0,0 +1,10 @@
(define-library (scheme cyclone common)
(export
*Cyc-version-banner*
*version*
*version-banner*
*c-file-header-comment*
*features*)
(include "common.scm")
(begin
(define *Cyc-version-banner* *version-banner*)))

View file

@ -5,6 +5,7 @@
(scheme eval) (scheme eval)
(scheme read) (scheme read)
(scheme write) (scheme write)
(scheme cyclone common)
(scheme cyclone util) (scheme cyclone util)
(scheme cyclone libraries) (scheme cyclone libraries)
) )
@ -117,6 +118,5 @@
pos-in-list pos-in-list
closure-convert closure-convert
) )
(include "../common.scm")
(include "../../transforms.scm")) (include "../../transforms.scm"))

View file

@ -8,8 +8,8 @@
;; ;;
(cond-expand (cond-expand
(chicken ; (chicken
(load (string-append (cyc:get-lib-dir) "scheme/common.scm"))) ; (load (string-append (cyc:get-lib-dir) "scheme/common.scm")))
(cyclone (cyclone
;; Temporary work-around for pp not being implemented yet ;; Temporary work-around for pp not being implemented yet
(define pretty-print write)) (define pretty-print write))