mirror of
https://github.com/justinethier/cyclone.git
synced 2025-05-19 13:49:16 +02:00
Self-hosted version compiles now, but is very broken...
This commit is contained in:
parent
a6da96ba57
commit
f63df9fd12
8 changed files with 26 additions and 11 deletions
11
Makefile
11
Makefile
|
@ -21,9 +21,15 @@ scheme/read.o: cyclone scheme/read.sld parser.scm
|
|||
scheme/write.o: 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
|
||||
./cyclone scheme/cyclone/util.sld
|
||||
|
||||
common.so: scheme/cyclone/common.scm
|
||||
csc -s scheme/cyclone/common.scm
|
||||
|
||||
util.so: util.scm
|
||||
csc -s util.scm
|
||||
|
||||
|
@ -59,12 +65,13 @@ debug:
|
|||
debug2: libcyclone.so.1
|
||||
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
|
||||
|
||||
#scheme/cyclone/util.o: cyclone scheme/cyclone/util.sld
|
||||
.PHONY: self
|
||||
self:
|
||||
./cyclone scheme/cyclone/common.sld
|
||||
./cyclone scheme/cyclone/libraries.sld
|
||||
./cyclone scheme/cyclone/transforms.sld
|
||||
./cyclone scheme/cyclone/cgen.sld
|
||||
|
@ -96,7 +103,7 @@ test2: examples/hello-library/int-test/hello.c libcyclone.a
|
|||
## 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
|
||||
|
||||
.PHONY: tags
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
; (scheme file)
|
||||
; (scheme read)
|
||||
; (scheme write)
|
||||
; (scheme cyclone common)
|
||||
; (scheme cyclone util)
|
||||
; (scheme cyclone cgen)
|
||||
; (scheme cyclone transforms)
|
||||
|
@ -26,6 +27,7 @@
|
|||
(require-extension extras) ;; pretty-print
|
||||
(require-extension chicken-syntax) ;; when
|
||||
(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) "util.so"))
|
||||
(load (string-append (cyc:get-lib-dir) "libraries.so"))
|
||||
|
|
3
icyc.scm
3
icyc.scm
|
@ -4,7 +4,8 @@
|
|||
;;
|
||||
;; This module contains a simple Read-Eval-Print Loop
|
||||
;;
|
||||
(import (scheme base)
|
||||
(import (scheme cyclone common)
|
||||
(scheme base)
|
||||
(scheme char)
|
||||
(scheme read)
|
||||
(scheme write)
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
(define-library (scheme base)
|
||||
(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
|
||||
;delete
|
||||
;delete-duplicates
|
||||
|
@ -72,9 +69,7 @@
|
|||
newline
|
||||
write-char
|
||||
)
|
||||
(include "common.scm")
|
||||
(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.
|
||||
(define call-with-current-continuation call/cc)
|
||||
;; TODO: this is from r7rs, but is not really good enough by itself
|
||||
|
|
10
scheme/cyclone/common.sld
Normal file
10
scheme/cyclone/common.sld
Normal 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*)))
|
|
@ -5,6 +5,7 @@
|
|||
(scheme eval)
|
||||
(scheme read)
|
||||
(scheme write)
|
||||
(scheme cyclone common)
|
||||
(scheme cyclone util)
|
||||
(scheme cyclone libraries)
|
||||
)
|
||||
|
@ -117,6 +118,5 @@
|
|||
pos-in-list
|
||||
closure-convert
|
||||
)
|
||||
(include "../common.scm")
|
||||
(include "../../transforms.scm"))
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
;;
|
||||
|
||||
(cond-expand
|
||||
(chicken
|
||||
(load (string-append (cyc:get-lib-dir) "scheme/common.scm")))
|
||||
; (chicken
|
||||
; (load (string-append (cyc:get-lib-dir) "scheme/common.scm")))
|
||||
(cyclone
|
||||
;; Temporary work-around for pp not being implemented yet
|
||||
(define pretty-print write))
|
||||
|
|
Loading…
Add table
Reference in a new issue